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

_Z8get_ne16PKh:
  112|  27.7M|forceinline bele_constexpr unsigned get_ne16(const byte *p) noexcept {
  113|  27.7M|#if defined(upx_is_constant_evaluated)
  114|  27.7M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|  27.7M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (114:9): [Folded, False: 27.7M]
  ------------------
  115|      0|        return upx::compile_time::get_ne16(p);
  116|  27.7M|    else
  117|  27.7M|#endif
  118|  27.7M|    {
  119|  27.7M|        upx_uint16_t v = 0;
  120|  27.7M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  27.7M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  121|  27.7M|        return v;
  122|  27.7M|    }
  123|  27.7M|}
_Z8get_ne32PKh:
  125|   173M|forceinline bele_constexpr unsigned get_ne32(const byte *p) noexcept {
  126|   173M|#if defined(upx_is_constant_evaluated)
  127|   173M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   173M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (127:9): [Folded, False: 173M]
  ------------------
  128|      0|        return upx::compile_time::get_ne32(p);
  129|   173M|    else
  130|   173M|#endif
  131|   173M|    {
  132|   173M|        upx_uint32_t v = 0;
  133|   173M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|   173M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  134|   173M|        return v;
  135|   173M|    }
  136|   173M|}
_Z8get_ne64PKh:
  138|  18.9M|forceinline bele_constexpr upx_uint64_t get_ne64(const byte *p) noexcept {
  139|  18.9M|#if defined(upx_is_constant_evaluated)
  140|  18.9M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|  18.9M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (140:9): [Folded, False: 18.9M]
  ------------------
  141|      0|        return upx::compile_time::get_ne64(p);
  142|  18.9M|    else
  143|  18.9M|#endif
  144|  18.9M|    {
  145|  18.9M|        upx_uint64_t v = 0;
  146|  18.9M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  18.9M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  147|  18.9M|        return v;
  148|  18.9M|    }
  149|  18.9M|}
_Z8set_ne16Phj:
  151|  12.0M|forceinline bele_constexpr void set_ne16(byte *p, unsigned v) noexcept {
  152|  12.0M|#if defined(upx_is_constant_evaluated)
  153|  12.0M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|  12.0M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (153:9): [Folded, False: 12.0M]
  ------------------
  154|      0|        upx::compile_time::set_ne16(p, upx_uint16_t(v & 0xffff));
  155|  12.0M|    else
  156|  12.0M|#endif
  157|  12.0M|    {
  158|  12.0M|        const upx_uint16_t vv = upx_uint16_t(v & 0xffff);
  159|  12.0M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  421|  12.0M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  160|  12.0M|    }
  161|  12.0M|}
_Z8set_ne32Phj:
  163|  80.4M|forceinline bele_constexpr void set_ne32(byte *p, unsigned v) noexcept {
  164|  80.4M|#if defined(upx_is_constant_evaluated)
  165|  80.4M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|  80.4M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (165:9): [Folded, False: 80.4M]
  ------------------
  166|      0|        upx::compile_time::set_ne32(p, v);
  167|  80.4M|    else
  168|  80.4M|#endif
  169|  80.4M|    {
  170|  80.4M|        const upx_uint32_t vv = v;
  171|  80.4M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  421|  80.4M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  172|  80.4M|    }
  173|  80.4M|}
_Z8set_ne64Phy:
  175|  3.82M|forceinline bele_constexpr void set_ne64(byte *p, upx_uint64_t v) noexcept {
  176|  3.82M|#if defined(upx_is_constant_evaluated)
  177|  3.82M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  121|  3.82M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (177:9): [Folded, False: 3.82M]
  ------------------
  178|      0|        upx::compile_time::set_ne64(p, v);
  179|  3.82M|    else
  180|  3.82M|#endif
  181|  3.82M|    {
  182|  3.82M|        const upx_uint64_t vv = v;
  183|  3.82M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  421|  3.82M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  184|  3.82M|    }
  185|  3.82M|}
_Z11upx_bswap16j:
  265|  17.6M|forceinline constexpr unsigned bswap16(unsigned v) noexcept {
  266|       |    // return __builtin_bswap32(v << 16);
  267|  17.6M|    return __builtin_bswap16(upx_uint16_t(v & 0xffff));
  268|  17.6M|}
_Z11upx_bswap32j:
  269|  25.4M|forceinline constexpr unsigned bswap32(unsigned v) noexcept { return __builtin_bswap32(v); }
_Z11upx_bswap64y:
  270|  11.1M|forceinline constexpr upx_uint64_t bswap64(upx_uint64_t v) noexcept { return __builtin_bswap64(v); }
_Z10no_bswap16j:
  274|  21.6M|forceinline constexpr unsigned no_bswap16(unsigned v) noexcept {
  275|       |    // mask is needed so that for all v: bswap16(bswap16(v)) == no_bswap16(v)
  276|  21.6M|    return v & 0xffff;
  277|  21.6M|}
_Z10no_bswap32j:
  278|   220M|forceinline constexpr unsigned no_bswap32(unsigned v) noexcept { return v; }
_Z10no_bswap64y:
  279|  11.3M|forceinline constexpr upx_uint64_t no_bswap64(upx_uint64_t v) noexcept { return v; }
_Z8get_be24PKh:
  349|   445k|inline constexpr unsigned get_be24(const byte *p) noexcept {
  350|   445k|    return upx::compile_time::get_be24(p);
  351|   445k|}
_Z8get_le24PKh:
  352|   413k|inline constexpr unsigned get_le24(const byte *p) noexcept {
  353|   413k|    return upx::compile_time::get_le24(p);
  354|   413k|}
_Z8get_ne24PKh:
  355|   205k|inline constexpr unsigned get_ne24(const byte *p) noexcept {
  356|   205k|    return upx::compile_time::get_ne24(p);
  357|   205k|}
_Z8set_be24Phj:
  358|   372k|inline constexpr void set_be24(byte *p, unsigned v) noexcept { upx::compile_time::set_be24(p, v); }
_Z8set_le24Phj:
  359|   340k|inline constexpr void set_le24(byte *p, unsigned v) noexcept { upx::compile_time::set_le24(p, v); }
_Z8set_ne24Phj:
  360|   205k|inline constexpr void set_ne24(byte *p, unsigned v) noexcept { upx::compile_time::set_ne24(p, v); }
_Z13sign_extend32jj:
  419|  2.08M|forceinline constexpr int sign_extend32(unsigned v, unsigned bits) noexcept {
  420|       |#if (ACC_ARCH_M68K) // 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.08M|    return ACC_ICAST(int, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|  2.08M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.08M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  425|  2.08M|#endif
  426|  2.08M|}
_Z13sign_extend64yj:
  428|  2.28M|forceinline constexpr upx_int64_t sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
  429|       |#if (ACC_ARCH_M68K) // 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.28M|    return ACC_ICAST(upx_int64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  2.28M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.28M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  434|  2.28M|#endif
  435|  2.28M|}
_Z8set_be16IhhEvPT_j:
  329|  3.13M|inline bele_constexpr void set_be16(XE16 *p, unsigned v) noexcept { set_ne16(p, ne16_to_be16(v)); }
  ------------------
  |  |  289|  3.13M|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  366|  3.13M|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
_ZN4BE164makeEj:
  498|  73.3k|    static forceinline bele_constexpr BE16 make(unsigned v) noexcept {
  499|  73.3k|        BE16 x = {};
  500|  73.3k|        set_be16(x.d, v);
  501|  73.3k|        return x;
  502|  73.3k|    }
_Z8get_be16IhhEjPKT_:
  304|  14.2M|inline bele_constexpr unsigned get_be16(const XE16 *p) noexcept {
  305|  14.2M|    return ne16_to_be16(get_ne16(p));
  ------------------
  |  |  289|  14.2M|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  366|  14.2M|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
  306|  14.2M|}
_ZNK4BE16cvjEv:
  504|  8.43M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_be16(d); }
_ZN4BE16aSEj:
  506|   997k|    forceinline bele_constexpr BE16 &operator=(unsigned v) noexcept {
  507|   997k|        set_be16(d, v);
  508|   997k|        return *this;
  509|   997k|    }
_ZN4BE16pLEj:
  510|  88.0k|    BE16 &operator+=(unsigned v) noexcept {
  511|  88.0k|        set_be16(d, get_be16(d) + v);
  512|  88.0k|        return *this;
  513|  88.0k|    }
_ZN4BE16mIEj:
  514|   146k|    BE16 &operator-=(unsigned v) noexcept {
  515|   146k|        set_be16(d, get_be16(d) - v);
  516|   146k|        return *this;
  517|   146k|    }
_ZN4BE16mLEj:
  518|  58.7k|    BE16 &operator*=(unsigned v) noexcept {
  519|  58.7k|        set_be16(d, get_be16(d) * v);
  520|  58.7k|        return *this;
  521|  58.7k|    }
_ZN4BE16dVEj:
  522|  58.7k|    BE16 &operator/=(unsigned v) noexcept {
  523|  58.7k|        set_be16(d, get_be16(d) / v);
  524|  58.7k|        return *this;
  525|  58.7k|    }
_ZN4BE16aNEj:
  526|  29.3k|    BE16 &operator&=(unsigned v) noexcept {
  527|  29.3k|        set_be16(d, get_be16(d) & v);
  528|  29.3k|        return *this;
  529|  29.3k|    }
_ZN4BE16oREj:
  530|  29.3k|    BE16 &operator|=(unsigned v) noexcept {
  531|  29.3k|        set_be16(d, get_be16(d) | v);
  532|  29.3k|        return *this;
  533|  29.3k|    }
_ZN4BE16eOEj:
  534|  29.3k|    BE16 &operator^=(unsigned v) noexcept {
  535|  29.3k|        set_be16(d, get_be16(d) ^ v);
  536|  29.3k|        return *this;
  537|  29.3k|    }
_ZN4BE16lSEj:
  538|  29.3k|    BE16 &operator<<=(unsigned v) noexcept {
  539|  29.3k|        set_be16(d, get_be16(d) << v);
  540|  29.3k|        return *this;
  541|  29.3k|    }
_ZN4BE16rSEj:
  542|  29.3k|    BE16 &operator>>=(unsigned v) noexcept {
  543|  29.3k|        set_be16(d, get_be16(d) >> v);
  544|  29.3k|        return *this;
  545|  29.3k|    }
_ZNK4BE16eqERKS_:
  547|   719k|    bele_constexpr bool operator==(const BE16 &x) const noexcept {
  548|   719k|#if defined(upx_is_constant_evaluated)
  549|   719k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   719k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (549:13): [Folded, False: 719k]
  ------------------
  550|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  551|   719k|        else
  552|   719k|#endif
  553|   719k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   719k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  554|   719k|    }
_ZNK4BE16ltERKS_:
  555|   660k|    bele_constexpr bool operator<(const BE16 &x) const noexcept {
  556|   660k|        return unsigned(*this) < unsigned(x);
  557|   660k|    }
_Z8set_be32IhhEvPT_j:
  331|  6.53M|inline bele_constexpr void set_be32(XE32 *p, unsigned v) noexcept { set_ne32(p, ne32_to_be32(v)); }
  ------------------
  |  |  290|  6.53M|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  367|  6.53M|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
_ZN4BE324makeEj:
  565|  73.3k|    static forceinline bele_constexpr BE32 make(unsigned v) noexcept {
  566|  73.3k|        BE32 x = {};
  567|  73.3k|        set_be32(x.d, v);
  568|  73.3k|        return x;
  569|  73.3k|    }
_Z8get_be32IhhEjPKT_:
  308|  18.4M|inline bele_constexpr unsigned get_be32(const XE32 *p) noexcept {
  309|  18.4M|    return ne32_to_be32(get_ne32(p));
  ------------------
  |  |  290|  18.4M|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  367|  18.4M|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
  310|  18.4M|}
_ZNK4BE32cvjEv:
  571|  8.52M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_be32(d); }
_ZN4BE32aSEj:
  573|  1.02M|    forceinline bele_constexpr BE32 &operator=(unsigned v) noexcept {
  574|  1.02M|        set_be32(d, v);
  575|  1.02M|        return *this;
  576|  1.02M|    }
_ZN4BE32pLEj:
  577|  88.0k|    BE32 &operator+=(unsigned v) noexcept {
  578|  88.0k|        set_be32(d, get_be32(d) + v);
  579|  88.0k|        return *this;
  580|  88.0k|    }
_ZN4BE32mIEj:
  581|   176k|    BE32 &operator-=(unsigned v) noexcept {
  582|   176k|        set_be32(d, get_be32(d) - v);
  583|   176k|        return *this;
  584|   176k|    }
_ZN4BE32mLEj:
  585|  58.7k|    BE32 &operator*=(unsigned v) noexcept {
  586|  58.7k|        set_be32(d, get_be32(d) * v);
  587|  58.7k|        return *this;
  588|  58.7k|    }
_ZN4BE32dVEj:
  589|  58.7k|    BE32 &operator/=(unsigned v) noexcept {
  590|  58.7k|        set_be32(d, get_be32(d) / v);
  591|  58.7k|        return *this;
  592|  58.7k|    }
_ZN4BE32aNEj:
  593|  29.3k|    BE32 &operator&=(unsigned v) noexcept {
  594|  29.3k|        set_be32(d, get_be32(d) & v);
  595|  29.3k|        return *this;
  596|  29.3k|    }
_ZN4BE32oREj:
  597|  29.3k|    BE32 &operator|=(unsigned v) noexcept {
  598|  29.3k|        set_be32(d, get_be32(d) | v);
  599|  29.3k|        return *this;
  600|  29.3k|    }
_ZN4BE32eOEj:
  601|  29.3k|    BE32 &operator^=(unsigned v) noexcept {
  602|  29.3k|        set_be32(d, get_be32(d) ^ v);
  603|  29.3k|        return *this;
  604|  29.3k|    }
_ZN4BE32lSEj:
  605|  29.3k|    BE32 &operator<<=(unsigned v) noexcept {
  606|  29.3k|        set_be32(d, get_be32(d) << v);
  607|  29.3k|        return *this;
  608|  29.3k|    }
_ZN4BE32rSEj:
  609|  29.3k|    BE32 &operator>>=(unsigned v) noexcept {
  610|  29.3k|        set_be32(d, get_be32(d) >> v);
  611|  29.3k|        return *this;
  612|  29.3k|    }
_ZNK4BE32eqERKS_:
  614|   719k|    bele_constexpr bool operator==(const BE32 &x) const noexcept {
  615|   719k|#if defined(upx_is_constant_evaluated)
  616|   719k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   719k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (616:13): [Folded, False: 719k]
  ------------------
  617|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  618|   719k|        else
  619|   719k|#endif
  620|   719k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   719k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  621|   719k|    }
_ZNK4BE32ltERKS_:
  622|   661k|    bele_constexpr bool operator<(const BE32 &x) const noexcept {
  623|   661k|        return unsigned(*this) < unsigned(x);
  624|   661k|    }
_Z8set_be64IhhEvPT_y:
  333|  1.82M|inline bele_constexpr void set_be64(XE64 *p, upx_uint64_t v) noexcept {
  334|  1.82M|    set_ne64(p, ne64_to_be64(v));
  ------------------
  |  |  291|  1.82M|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  368|  1.82M|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  335|  1.82M|}
_ZN4BE644makeEy:
  632|  73.3k|    static forceinline bele_constexpr BE64 make(upx_uint64_t v) noexcept {
  633|  73.3k|        BE64 x = {};
  634|  73.3k|        set_be64(x.d, v);
  635|  73.3k|        return x;
  636|  73.3k|    }
_Z8get_be64IhhEyPKT_:
  312|  9.21M|inline bele_constexpr upx_uint64_t get_be64(const XE64 *p) noexcept {
  313|  9.21M|    return ne64_to_be64(get_ne64(p));
  ------------------
  |  |  291|  9.21M|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  368|  9.21M|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  314|  9.21M|}
_ZNK4BE64cvyEv:
  638|  8.42M|    forceinline bele_constexpr operator upx_uint64_t() const noexcept { return get_be64(d); }
_ZN4BE64aSEy:
  640|  1.02M|    forceinline bele_constexpr BE64 &operator=(upx_uint64_t v) noexcept {
  641|  1.02M|        set_be64(d, v);
  642|  1.02M|        return *this;
  643|  1.02M|    }
_ZN4BE64pLEy:
  644|  88.0k|    BE64 &operator+=(upx_uint64_t v) noexcept {
  645|  88.0k|        set_be64(d, get_be64(d) + v);
  646|  88.0k|        return *this;
  647|  88.0k|    }
_ZN4BE64mIEy:
  648|   176k|    BE64 &operator-=(upx_uint64_t v) noexcept {
  649|   176k|        set_be64(d, get_be64(d) - v);
  650|   176k|        return *this;
  651|   176k|    }
_ZN4BE64mLEy:
  652|  58.7k|    BE64 &operator*=(upx_uint64_t v) noexcept {
  653|  58.7k|        set_be64(d, get_be64(d) * v);
  654|  58.7k|        return *this;
  655|  58.7k|    }
_ZN4BE64dVEy:
  656|  58.7k|    BE64 &operator/=(upx_uint64_t v) noexcept {
  657|  58.7k|        set_be64(d, get_be64(d) / v);
  658|  58.7k|        return *this;
  659|  58.7k|    }
_ZN4BE64aNEy:
  660|  29.3k|    BE64 &operator&=(upx_uint64_t v) noexcept {
  661|  29.3k|        set_be64(d, get_be64(d) & v);
  662|  29.3k|        return *this;
  663|  29.3k|    }
_ZN4BE64oREy:
  664|  29.3k|    BE64 &operator|=(upx_uint64_t v) noexcept {
  665|  29.3k|        set_be64(d, get_be64(d) | v);
  666|  29.3k|        return *this;
  667|  29.3k|    }
_ZN4BE64eOEy:
  668|  29.3k|    BE64 &operator^=(upx_uint64_t v) noexcept {
  669|  29.3k|        set_be64(d, get_be64(d) ^ v);
  670|  29.3k|        return *this;
  671|  29.3k|    }
_ZN4BE64lSEj:
  672|  29.3k|    BE64 &operator<<=(unsigned v) noexcept {
  673|  29.3k|        set_be64(d, get_be64(d) << v);
  674|  29.3k|        return *this;
  675|  29.3k|    }
_ZN4BE64rSEj:
  676|  29.3k|    BE64 &operator>>=(unsigned v) noexcept {
  677|  29.3k|        set_be64(d, get_be64(d) >> v);
  678|  29.3k|        return *this;
  679|  29.3k|    }
_ZNK4BE64eqERKS_:
  681|   719k|    bele_constexpr bool operator==(const BE64 &x) const noexcept {
  682|   719k|#if defined(upx_is_constant_evaluated)
  683|   719k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   719k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (683:13): [Folded, False: 719k]
  ------------------
  684|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  685|   719k|        else
  686|   719k|#endif
  687|   719k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   719k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  688|   719k|    }
_ZNK4BE64ltERKS_:
  689|   660k|    bele_constexpr bool operator<(const BE64 &x) const noexcept {
  690|   660k|        return upx_uint64_t(*this) < upx_uint64_t(x);
  691|   660k|    }
_Z8set_le16IhhEvPT_j:
  337|  8.64M|inline bele_constexpr void set_le16(XE16 *p, unsigned v) noexcept { set_ne16(p, ne16_to_le16(v)); }
  ------------------
  |  |  292|  8.64M|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
_ZN4LE164makeEj:
  699|  73.3k|    static forceinline bele_constexpr LE16 make(unsigned v) noexcept {
  700|  73.3k|        LE16 x = {};
  701|  73.3k|        set_le16(x.d, v);
  702|  73.3k|        return x;
  703|  73.3k|    }
_Z8get_le16IhhEjPKT_:
  316|  12.4M|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|  12.4M|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|  12.4M|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|  12.4M|}
_ZNK4LE16cvjEv:
  705|  8.59M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_le16(d); }
_ZN4LE16aSEj:
  707|  1.02M|    forceinline bele_constexpr LE16 &operator=(unsigned v) noexcept {
  708|  1.02M|        set_le16(d, v);
  709|  1.02M|        return *this;
  710|  1.02M|    }
_ZN4LE16pLEj:
  711|  88.0k|    LE16 &operator+=(unsigned v) noexcept {
  712|  88.0k|        set_le16(d, get_le16(d) + v);
  713|  88.0k|        return *this;
  714|  88.0k|    }
_ZN4LE16mIEj:
  715|   146k|    LE16 &operator-=(unsigned v) noexcept {
  716|   146k|        set_le16(d, get_le16(d) - v);
  717|   146k|        return *this;
  718|   146k|    }
_ZN4LE16mLEj:
  719|  58.7k|    LE16 &operator*=(unsigned v) noexcept {
  720|  58.7k|        set_le16(d, get_le16(d) * v);
  721|  58.7k|        return *this;
  722|  58.7k|    }
_ZN4LE16dVEj:
  723|  58.7k|    LE16 &operator/=(unsigned v) noexcept {
  724|  58.7k|        set_le16(d, get_le16(d) / v);
  725|  58.7k|        return *this;
  726|  58.7k|    }
_ZN4LE16aNEj:
  727|  29.3k|    LE16 &operator&=(unsigned v) noexcept {
  728|  29.3k|        set_le16(d, get_le16(d) & v);
  729|  29.3k|        return *this;
  730|  29.3k|    }
_ZN4LE16oREj:
  731|  29.4k|    LE16 &operator|=(unsigned v) noexcept {
  732|  29.4k|        set_le16(d, get_le16(d) | v);
  733|  29.4k|        return *this;
  734|  29.4k|    }
_ZN4LE16eOEj:
  735|  29.3k|    LE16 &operator^=(unsigned v) noexcept {
  736|  29.3k|        set_le16(d, get_le16(d) ^ v);
  737|  29.3k|        return *this;
  738|  29.3k|    }
_ZN4LE16lSEj:
  739|  29.3k|    LE16 &operator<<=(unsigned v) noexcept {
  740|  29.3k|        set_le16(d, get_le16(d) << v);
  741|  29.3k|        return *this;
  742|  29.3k|    }
_ZN4LE16rSEj:
  743|  29.3k|    LE16 &operator>>=(unsigned v) noexcept {
  744|  29.3k|        set_le16(d, get_le16(d) >> v);
  745|  29.3k|        return *this;
  746|  29.3k|    }
_ZNK4LE16eqERKS_:
  748|   719k|    bele_constexpr bool operator==(const LE16 &x) const noexcept {
  749|   719k|#if defined(upx_is_constant_evaluated)
  750|   719k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   719k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (750:13): [Folded, False: 719k]
  ------------------
  751|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  752|   719k|        else
  753|   719k|#endif
  754|   719k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   719k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  755|   719k|    }
_ZNK4LE16ltERKS_:
  756|   660k|    bele_constexpr bool operator<(const LE16 &x) const noexcept {
  757|   660k|        return unsigned(*this) < unsigned(x);
  758|   660k|    }
_Z8set_le32IhhEvPT_j:
  339|  49.3M|inline bele_constexpr void set_le32(XE32 *p, unsigned v) noexcept { set_ne32(p, ne32_to_le32(v)); }
  ------------------
  |  |  293|  49.3M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
_ZN4LE324makeEj:
  766|  73.3k|    static forceinline bele_constexpr LE32 make(unsigned v) noexcept {
  767|  73.3k|        LE32 x = {};
  768|  73.3k|        set_le32(x.d, v);
  769|  73.3k|        return x;
  770|  73.3k|    }
_Z8get_le32IhhEjPKT_:
  320|   107M|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|   107M|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|   107M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|   107M|}
_ZNK4LE32cvjEv:
  772|  8.90M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_le32(d); }
_ZN4LE32aSEj:
  774|  1.05M|    forceinline bele_constexpr LE32 &operator=(unsigned v) noexcept {
  775|  1.05M|        set_le32(d, v);
  776|  1.05M|        return *this;
  777|  1.05M|    }
_ZN4LE32pLEj:
  778|   111k|    LE32 &operator+=(unsigned v) noexcept {
  779|   111k|        set_le32(d, get_le32(d) + v);
  780|   111k|        return *this;
  781|   111k|    }
_ZN4LE32mIEj:
  782|   176k|    LE32 &operator-=(unsigned v) noexcept {
  783|   176k|        set_le32(d, get_le32(d) - v);
  784|   176k|        return *this;
  785|   176k|    }
_ZN4LE32mLEj:
  786|  58.7k|    LE32 &operator*=(unsigned v) noexcept {
  787|  58.7k|        set_le32(d, get_le32(d) * v);
  788|  58.7k|        return *this;
  789|  58.7k|    }
_ZN4LE32dVEj:
  790|  58.7k|    LE32 &operator/=(unsigned v) noexcept {
  791|  58.7k|        set_le32(d, get_le32(d) / v);
  792|  58.7k|        return *this;
  793|  58.7k|    }
_ZN4LE32aNEj:
  794|  29.3k|    LE32 &operator&=(unsigned v) noexcept {
  795|  29.3k|        set_le32(d, get_le32(d) & v);
  796|  29.3k|        return *this;
  797|  29.3k|    }
_ZN4LE32oREj:
  798|  29.3k|    LE32 &operator|=(unsigned v) noexcept {
  799|  29.3k|        set_le32(d, get_le32(d) | v);
  800|  29.3k|        return *this;
  801|  29.3k|    }
_ZN4LE32eOEj:
  802|  29.3k|    LE32 &operator^=(unsigned v) noexcept {
  803|  29.3k|        set_le32(d, get_le32(d) ^ v);
  804|  29.3k|        return *this;
  805|  29.3k|    }
_ZN4LE32lSEj:
  806|  29.3k|    LE32 &operator<<=(unsigned v) noexcept {
  807|  29.3k|        set_le32(d, get_le32(d) << v);
  808|  29.3k|        return *this;
  809|  29.3k|    }
_ZN4LE32rSEj:
  810|  29.3k|    LE32 &operator>>=(unsigned v) noexcept {
  811|  29.3k|        set_le32(d, get_le32(d) >> v);
  812|  29.3k|        return *this;
  813|  29.3k|    }
_ZNK4LE32eqERKS_:
  815|   721k|    bele_constexpr bool operator==(const LE32 &x) const noexcept {
  816|   721k|#if defined(upx_is_constant_evaluated)
  817|   721k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   721k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (817:13): [Folded, False: 721k]
  ------------------
  818|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  819|   721k|        else
  820|   721k|#endif
  821|   721k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   721k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  822|   721k|    }
_ZNK4LE32ltERKS_:
  823|   663k|    bele_constexpr bool operator<(const LE32 &x) const noexcept {
  824|   663k|        return unsigned(*this) < unsigned(x);
  825|   663k|    }
_Z8set_le64IhhEvPT_y:
  341|  1.82M|inline bele_constexpr void set_le64(XE64 *p, upx_uint64_t v) noexcept {
  342|  1.82M|    set_ne64(p, ne64_to_le64(v));
  ------------------
  |  |  294|  1.82M|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  343|  1.82M|}
_ZN4LE644makeEy:
  833|  73.3k|    static forceinline bele_constexpr LE64 make(upx_uint64_t v) noexcept {
  834|  73.3k|        LE64 x = {};
  835|  73.3k|        set_le64(x.d, v);
  836|  73.3k|        return x;
  837|  73.3k|    }
_Z8get_le64IhhEyPKT_:
  324|  9.33M|inline bele_constexpr upx_uint64_t get_le64(const XE64 *p) noexcept {
  325|  9.33M|    return ne64_to_le64(get_ne64(p));
  ------------------
  |  |  294|  9.33M|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  326|  9.33M|}
_ZNK4LE64cvyEv:
  839|  8.55M|    forceinline bele_constexpr operator upx_uint64_t() const noexcept { return get_le64(d); }
_ZN4LE64aSEy:
  841|  1.02M|    forceinline bele_constexpr LE64 &operator=(upx_uint64_t v) noexcept {
  842|  1.02M|        set_le64(d, v);
  843|  1.02M|        return *this;
  844|  1.02M|    }
_ZN4LE64pLEy:
  845|  88.0k|    LE64 &operator+=(upx_uint64_t v) noexcept {
  846|  88.0k|        set_le64(d, get_le64(d) + v);
  847|  88.0k|        return *this;
  848|  88.0k|    }
_ZN4LE64mIEy:
  849|   176k|    LE64 &operator-=(upx_uint64_t v) noexcept {
  850|   176k|        set_le64(d, get_le64(d) - v);
  851|   176k|        return *this;
  852|   176k|    }
_ZN4LE64mLEy:
  853|  58.7k|    LE64 &operator*=(upx_uint64_t v) noexcept {
  854|  58.7k|        set_le64(d, get_le64(d) * v);
  855|  58.7k|        return *this;
  856|  58.7k|    }
_ZN4LE64dVEy:
  857|  58.7k|    LE64 &operator/=(upx_uint64_t v) noexcept {
  858|  58.7k|        set_le64(d, get_le64(d) / v);
  859|  58.7k|        return *this;
  860|  58.7k|    }
_ZN4LE64aNEy:
  861|  29.3k|    LE64 &operator&=(upx_uint64_t v) noexcept {
  862|  29.3k|        set_le64(d, get_le64(d) & v);
  863|  29.3k|        return *this;
  864|  29.3k|    }
_ZN4LE64oREy:
  865|  29.3k|    LE64 &operator|=(upx_uint64_t v) noexcept {
  866|  29.3k|        set_le64(d, get_le64(d) | v);
  867|  29.3k|        return *this;
  868|  29.3k|    }
_ZN4LE64eOEy:
  869|  29.3k|    LE64 &operator^=(upx_uint64_t v) noexcept {
  870|  29.3k|        set_le64(d, get_le64(d) ^ v);
  871|  29.3k|        return *this;
  872|  29.3k|    }
_ZN4LE64lSEj:
  873|  29.3k|    LE64 &operator<<=(unsigned v) noexcept {
  874|  29.3k|        set_le64(d, get_le64(d) << v);
  875|  29.3k|        return *this;
  876|  29.3k|    }
_ZN4LE64rSEj:
  877|  29.3k|    LE64 &operator>>=(unsigned v) noexcept {
  878|  29.3k|        set_le64(d, get_le64(d) >> v);
  879|  29.3k|        return *this;
  880|  29.3k|    }
_ZNK4LE64eqERKS_:
  882|   719k|    bele_constexpr bool operator==(const LE64 &x) const noexcept {
  883|   719k|#if defined(upx_is_constant_evaluated)
  884|   719k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  121|   719k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (884:13): [Folded, False: 719k]
  ------------------
  885|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  886|   719k|        else
  887|   719k|#endif
  888|   719k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  410|   719k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  889|   719k|    }
_ZNK4LE64ltERKS_:
  890|   660k|    bele_constexpr bool operator<(const LE64 &x) const noexcept {
  891|   660k|        return upx_uint64_t(*this) < upx_uint64_t(x);
  892|   660k|    }
_Z8get_ne16IvvEjPKT_:
  192|   745k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|   745k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|   745k|}
_Z8get_be16IvvEjPKT_:
  304|   210k|inline bele_constexpr unsigned get_be16(const XE16 *p) noexcept {
  305|   210k|    return ne16_to_be16(get_ne16(p));
  ------------------
  |  |  289|   210k|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  366|   210k|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
  306|   210k|}
_Z8get_be24IvvEjPKT_:
  363|  58.7k|forceinline bele_constexpr unsigned get_be24(const XE24 *p) noexcept {
  364|  58.7k|    return get_be24(upx::ptr_static_cast<const byte *>(p));
  365|  58.7k|}
_Z8get_ne32IvvEjPKT_:
  197|  1.19M|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  1.19M|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  1.19M|}
_Z8get_be32IvvEjPKT_:
  308|   398k|inline bele_constexpr unsigned get_be32(const XE32 *p) noexcept {
  309|   398k|    return ne32_to_be32(get_ne32(p));
  ------------------
  |  |  290|   398k|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  367|   398k|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
  310|   398k|}
_Z8get_ne64IvvEyPKT_:
  202|   283k|forceinline bele_constexpr upx_uint64_t get_ne64(const XE64 *p) noexcept {
  203|   283k|    return get_ne64(upx::ptr_static_cast<const byte *>(p));
  204|   283k|}
_Z8get_be64IvvEyPKT_:
  312|   107k|inline bele_constexpr upx_uint64_t get_be64(const XE64 *p) noexcept {
  313|   107k|    return ne64_to_be64(get_ne64(p));
  ------------------
  |  |  291|   107k|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  368|   107k|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  314|   107k|}
_Z8set_ne32IvvEvPT_j:
  212|  58.7k|forceinline bele_constexpr void set_ne32(XE32 *p, unsigned v) noexcept {
  213|  58.7k|    set_ne32(upx::ptr_static_cast<byte *>(p), v);
  214|  58.7k|}
_Z15get_be16_signedIvvEiPKT_:
  438|  29.3k|inline bele_constexpr int get_be16_signed(const XE16 *p) noexcept {
  439|  29.3k|    const unsigned v = get_be16(p);
  440|  29.3k|    return sign_extend32(v, 16);
  441|  29.3k|}
_Z15get_be24_signedIvvEiPKT_:
  444|  29.3k|inline bele_constexpr int get_be24_signed(const XE24 *p) noexcept {
  445|  29.3k|    const unsigned v = get_be24(p);
  446|  29.3k|    return sign_extend32(v, 24);
  447|  29.3k|}
_Z15get_be32_signedIvvEiPKT_:
  450|  29.3k|inline bele_constexpr int get_be32_signed(const XE32 *p) noexcept {
  451|  29.3k|    const unsigned v = get_be32(p);
  452|  29.3k|    return sign_extend32(v, 32);
  453|  29.3k|}
_Z15get_be64_signedIvvExPKT_:
  456|  29.3k|inline bele_constexpr upx_int64_t get_be64_signed(const XE64 *p) noexcept {
  457|  29.3k|    const upx_uint64_t v = get_be64(p);
  458|  29.3k|    return sign_extend64(v, 64);
  459|  29.3k|}
_Z8get_le16IvvEjPKT_:
  316|   535k|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|   535k|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|   535k|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|   535k|}
_Z8get_le24IvvEjPKT_:
  367|  58.7k|forceinline bele_constexpr unsigned get_le24(const XE24 *p) noexcept {
  368|  58.7k|    return get_le24(upx::ptr_static_cast<const byte *>(p));
  369|  58.7k|}
_Z8get_le32IvvEjPKT_:
  320|   428k|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|   428k|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|   428k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|   428k|}
_Z8get_le64IvvEyPKT_:
  324|   175k|inline bele_constexpr upx_uint64_t get_le64(const XE64 *p) noexcept {
  325|   175k|    return ne64_to_le64(get_ne64(p));
  ------------------
  |  |  294|   175k|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  326|   175k|}
_Z15get_le16_signedIvvEiPKT_:
  462|  29.3k|inline bele_constexpr int get_le16_signed(const XE16 *p) noexcept {
  463|  29.3k|    const unsigned v = get_le16(p);
  464|  29.3k|    return sign_extend32(v, 16);
  465|  29.3k|}
_Z15get_le24_signedIvvEiPKT_:
  468|  29.3k|inline bele_constexpr int get_le24_signed(const XE24 *p) noexcept {
  469|  29.3k|    const unsigned v = get_le24(p);
  470|  29.3k|    return sign_extend32(v, 24);
  471|  29.3k|}
_Z15get_le32_signedIvvEiPKT_:
  474|  29.3k|inline bele_constexpr int get_le32_signed(const XE32 *p) noexcept {
  475|  29.3k|    const unsigned v = get_le32(p);
  476|  29.3k|    return sign_extend32(v, 32);
  477|  29.3k|}
_Z15get_le64_signedIvvExPKT_:
  480|  29.3k|inline bele_constexpr upx_int64_t get_le64_signed(const XE64 *p) noexcept {
  481|  29.3k|    const upx_uint64_t v = get_le64(p);
  482|  29.3k|    return sign_extend64(v, 64);
  483|  29.3k|}
_ZN10N_BELE_CTP6getRTPEPKNS_8BEPolicyE:
 1153|  32.1k|inline const N_BELE_RTP::AbstractPolicy *getRTP(const BEPolicy * /*dummy*/) noexcept {
 1154|  32.1k|    return &N_BELE_RTP::be_policy;
 1155|  32.1k|}
_ZN10N_BELE_CTP6getRTPEPKNS_8LEPolicyE:
 1156|  75.8k|inline const N_BELE_RTP::AbstractPolicy *getRTP(const LEPolicy * /*dummy*/) noexcept {
 1157|  75.8k|    return &N_BELE_RTP::le_policy;
 1158|  75.8k|}
_Z15get_be16_signedIhhEiPKT_:
  438|  73.3k|inline bele_constexpr int get_be16_signed(const XE16 *p) noexcept {
  439|  73.3k|    const unsigned v = get_be16(p);
  440|  73.3k|    return sign_extend32(v, 16);
  441|  73.3k|}
_Z15get_be32_signedIhhEiPKT_:
  450|  73.3k|inline bele_constexpr int get_be32_signed(const XE32 *p) noexcept {
  451|  73.3k|    const unsigned v = get_be32(p);
  452|  73.3k|    return sign_extend32(v, 32);
  453|  73.3k|}
_Z15get_be64_signedIhhExPKT_:
  456|  73.3k|inline bele_constexpr upx_int64_t get_be64_signed(const XE64 *p) noexcept {
  457|  73.3k|    const upx_uint64_t v = get_be64(p);
  458|  73.3k|    return sign_extend64(v, 64);
  459|  73.3k|}
_Z15get_le16_signedIhhEiPKT_:
  462|  44.0k|inline bele_constexpr int get_le16_signed(const XE16 *p) noexcept {
  463|  44.0k|    const unsigned v = get_le16(p);
  464|  44.0k|    return sign_extend32(v, 16);
  465|  44.0k|}
_Z15get_le32_signedIhhEiPKT_:
  474|  44.0k|inline bele_constexpr int get_le32_signed(const XE32 *p) noexcept {
  475|  44.0k|    const unsigned v = get_le32(p);
  476|  44.0k|    return sign_extend32(v, 32);
  477|  44.0k|}
_Z15get_le64_signedIhhExPKT_:
  480|  44.0k|inline bele_constexpr upx_int64_t get_le64_signed(const XE64 *p) noexcept {
  481|  44.0k|    const upx_uint64_t v = get_le64(p);
  482|  44.0k|    return sign_extend64(v, 64);
  483|  44.0k|}
_Z8get_le26IvvEjPKT_:
  388|  88.0k|inline bele_constexpr unsigned get_le26(const XE32 *p) noexcept { return get_le32(p) & 0x03ffffff; }
_Z8set_le26IvvEvPT_j:
  399|  58.7k|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|  58.7k|    set_ne32(p, (get_ne32(p) & ne32_to_le32(0xfc000000)) |
  ------------------
  |  |  293|  58.7k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  404|  58.7k|                    (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  58.7k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
                                  (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  58.7k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  405|  58.7k|}
_Z8set_ne16IttEvPT_j:
  207|  29.3k|forceinline bele_constexpr void set_ne16(XE16 *p, unsigned v) noexcept {
  208|  29.3k|    set_ne16(upx::ptr_static_cast<byte *>(p), v);
  209|  29.3k|}
_Z8set_ne32IjjEvPT_j:
  212|  29.3k|forceinline bele_constexpr void set_ne32(XE32 *p, unsigned v) noexcept {
  213|  29.3k|    set_ne32(upx::ptr_static_cast<byte *>(p), v);
  214|  29.3k|}
_Z8set_ne64IyyEvPT_y:
  217|  29.3k|forceinline bele_constexpr void set_ne64(XE64 *p, upx_uint64_t v) noexcept {
  218|  29.3k|    set_ne64(upx::ptr_static_cast<byte *>(p), v);
  219|  29.3k|}
_Z8get_ne16IttEjPKT_:
  192|  29.3k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|  29.3k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|  29.3k|}
_Z8get_ne32IjjEjPKT_:
  197|  30.2k|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  30.2k|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  30.2k|}
_Z8get_ne64IyyEyPKT_:
  202|  29.3k|forceinline bele_constexpr upx_uint64_t get_ne64(const XE64 *p) noexcept {
  203|  29.3k|    return get_ne64(upx::ptr_static_cast<const byte *>(p));
  204|  29.3k|}
_ZN3upx3minIjjEET_RK4LE16RKS1_:
 1010|   234k|inline bele_constexpr T min(const LE16 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4LE16:
 1008|   234k|inline bele_constexpr T min(const T &a, const LE16 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4LE16RKS1_:
 1035|   234k|inline bele_constexpr T max(const LE16 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4LE16:
 1033|   234k|inline bele_constexpr T max(const T &a, const LE16 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4LE32RKS1_:
 1014|   234k|inline bele_constexpr T min(const LE32 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4LE32:
 1012|   234k|inline bele_constexpr T min(const T &a, const LE32 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4LE32RKS1_:
 1039|   234k|inline bele_constexpr T max(const LE32 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4LE32:
 1037|   234k|inline bele_constexpr T max(const T &a, const LE32 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIyyEET_RK4LE64RKS1_:
 1018|   234k|inline bele_constexpr T min(const LE64 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIyyEET_RKS1_RK4LE64:
 1016|   234k|inline bele_constexpr T min(const T &a, const LE64 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIyyEET_RK4LE64RKS1_:
 1043|   234k|inline bele_constexpr T max(const LE64 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIyyEET_RKS1_RK4LE64:
 1041|   234k|inline bele_constexpr T max(const T &a, const LE64 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4BE16RKS1_:
  998|   234k|inline bele_constexpr T min(const BE16 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4BE16:
  996|   234k|inline bele_constexpr T min(const T &a, const BE16 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4BE16RKS1_:
 1023|   234k|inline bele_constexpr T max(const BE16 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4BE16:
 1021|   234k|inline bele_constexpr T max(const T &a, const BE16 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4BE32RKS1_:
 1002|   234k|inline bele_constexpr T min(const BE32 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4BE32:
 1000|   234k|inline bele_constexpr T min(const T &a, const BE32 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4BE32RKS1_:
 1027|   234k|inline bele_constexpr T max(const BE32 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4BE32:
 1025|   234k|inline bele_constexpr T max(const T &a, const BE32 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIyyEET_RK4BE64RKS1_:
 1006|   234k|inline bele_constexpr T min(const BE64 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIyyEET_RKS1_RK4BE64:
 1004|   234k|inline bele_constexpr T min(const T &a, const BE64 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIyyEET_RK4BE64RKS1_:
 1031|   234k|inline bele_constexpr T max(const BE64 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIyyEET_RKS1_RK4BE64:
 1029|   234k|inline bele_constexpr T max(const T &a, const BE64 &b) noexcept { return max(a, T(b)); }
_Z15get_be24_signedIhhEiPKT_:
  444|  14.6k|inline bele_constexpr int get_be24_signed(const XE24 *p) noexcept {
  445|  14.6k|    const unsigned v = get_be24(p);
  446|  14.6k|    return sign_extend32(v, 24);
  447|  14.6k|}
_Z15get_le24_signedIhhEiPKT_:
  468|  14.6k|inline bele_constexpr int get_le24_signed(const XE24 *p) noexcept {
  469|  14.6k|    const unsigned v = get_le24(p);
  470|  14.6k|    return sign_extend32(v, 24);
  471|  14.6k|}
_Z8set_le26IhhEvPT_j:
  399|  20.9M|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|  20.9M|    set_ne32(p, (get_ne32(p) & ne32_to_le32(0xfc000000)) |
  ------------------
  |  |  293|  20.9M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  404|  20.9M|                    (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  20.9M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
                                  (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  20.9M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  405|  20.9M|}
_Z10set_le19_5IhhEvPT_j:
  407|  16.6M|inline bele_constexpr void set_le19_5(XE32 *p, unsigned v) noexcept {
  408|  16.6M|    set_le32(p, (get_le32(p) & 0xff00001f) | ((v & 0x0007ffff) << 5));
  409|  16.6M|}
_Z10set_le14_5IhhEvPT_j:
  411|  3.38M|inline bele_constexpr void set_le14_5(XE32 *p, unsigned v) noexcept {
  412|  3.38M|    set_le32(p, (get_le32(p) & 0xfff8001f) | ((v & 0x00003fff) << 5));
  413|  3.38M|}
_Z8get_le26IhhEjPKT_:
  388|  10.3M|inline bele_constexpr unsigned get_le26(const XE32 *p) noexcept { return get_le32(p) & 0x03ffffff; }
_Z8get_le32IjjEjPKT_:
  320|    948|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|    948|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|    948|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|    948|}
_ZplIjEPT_S1_RK4LE32:
  924|     90|inline bele_constexpr T *operator+(T *ptr, const LE32 &v) noexcept {
  925|     90|    return ptr + size_t(unsigned(v));
  926|     90|}
_Z8get_le16I4LE16S0_EjPKT_:
  316|  15.2k|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|  15.2k|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|  15.2k|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|  15.2k|}
_Z8get_ne16I4LE16S0_EjPKT_:
  192|  15.2k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|  15.2k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|  15.2k|}
_ZN3upx8align_upIjjEET_RK4LE32RKS1_:
  993|     83|inline bele_constexpr T align_up(const LE32 &a, const T &b) noexcept { return align_up(T(a), b); }
_Z8get_le32I4LE32S0_EjPKT_:
  320|  4.52k|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|  4.52k|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|  4.52k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|  4.52k|}
_Z8get_ne32I4LE32S0_EjPKT_:
  197|  4.52k|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  4.52k|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  4.52k|}
_ZplIcEPT_S1_RK4BE32:
  908|  4.89k|inline bele_constexpr T *operator+(T *ptr, const BE32 &v) noexcept {
  909|  4.89k|    return ptr + size_t(unsigned(v));
  910|  4.89k|}
_ZplIcEPT_S1_RK4LE32:
  924|  23.3k|inline bele_constexpr T *operator+(T *ptr, const LE32 &v) noexcept {
  925|  23.3k|    return ptr + size_t(unsigned(v));
  926|  23.3k|}
_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|  32.1k|    static void compileTimeAssertions() noexcept {
  139|  32.1k|        COMPILE_TIME_ASSERT(sizeof(U16) == 2)
  ------------------
  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  140|  32.1k|        COMPILE_TIME_ASSERT(sizeof(U32) == 4)
  ------------------
  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  141|  32.1k|        COMPILE_TIME_ASSERT(sizeof(U64) == 8)
  ------------------
  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  142|  32.1k|        COMPILE_TIME_ASSERT_ALIGNED1(U16)
  ------------------
  |  |  465|  32.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  32.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  32.1k|    {                                                                                              \
  |  |  |  |  |  |  448|  32.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  32.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  32.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  32.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  32.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  32.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  32.1k|        };                                                                                         \
  |  |  |  |  |  |  455|  32.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  32.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  32.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  32.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  32.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  32.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  32.1k|        COMPILE_TIME_ASSERT_ALIGNED1(U32)
  ------------------
  |  |  465|  32.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  32.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  32.1k|    {                                                                                              \
  |  |  |  |  |  |  448|  32.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  32.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  32.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  32.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  32.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  32.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  32.1k|        };                                                                                         \
  |  |  |  |  |  |  455|  32.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  32.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  32.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  32.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  32.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  32.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  32.1k|        COMPILE_TIME_ASSERT_ALIGNED1(U64)
  ------------------
  |  |  465|  32.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  32.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  32.1k|    {                                                                                              \
  |  |  |  |  |  |  448|  32.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  32.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  32.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  32.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  32.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  32.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  32.1k|        };                                                                                         \
  |  |  |  |  |  |  455|  32.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  32.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  32.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  32.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  32.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  32.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  32.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  32.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  32.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|  32.1k|    }
_ZN10N_BELE_CTP8LEPolicy21compileTimeAssertionsEv:
  197|  75.8k|    static void compileTimeAssertions() noexcept {
  198|  75.8k|        COMPILE_TIME_ASSERT(sizeof(U16) == 2)
  ------------------
  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  199|  75.8k|        COMPILE_TIME_ASSERT(sizeof(U32) == 4)
  ------------------
  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  200|  75.8k|        COMPILE_TIME_ASSERT(sizeof(U64) == 8)
  ------------------
  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  201|  75.8k|        COMPILE_TIME_ASSERT_ALIGNED1(U16)
  ------------------
  |  |  465|  75.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  75.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  75.8k|    {                                                                                              \
  |  |  |  |  |  |  448|  75.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  75.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  75.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  75.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  75.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  75.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  75.8k|        };                                                                                         \
  |  |  |  |  |  |  455|  75.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  75.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  75.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  75.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  75.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  75.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  75.8k|        COMPILE_TIME_ASSERT_ALIGNED1(U32)
  ------------------
  |  |  465|  75.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  75.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  75.8k|    {                                                                                              \
  |  |  |  |  |  |  448|  75.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  75.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  75.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  75.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  75.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  75.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  75.8k|        };                                                                                         \
  |  |  |  |  |  |  455|  75.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  75.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  75.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  75.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  75.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  75.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  75.8k|        COMPILE_TIME_ASSERT_ALIGNED1(U64)
  ------------------
  |  |  465|  75.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  75.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  75.8k|    {                                                                                              \
  |  |  |  |  |  |  448|  75.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  75.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  75.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  75.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  75.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  75.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  75.8k|        };                                                                                         \
  |  |  |  |  |  |  455|  75.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  75.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  75.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  75.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  75.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  75.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  75.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  75.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  75.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  75.8k|    }
_ZNK10N_BELE_RTP8BEPolicy5get16EPKv:
  113|   180k|    V unsigned get16(const void *p) C { return get_be16(p); }
_ZNK10N_BELE_RTP8BEPolicy5get24EPKv:
  114|  29.3k|    V unsigned get24(const void *p) C { return get_be24(p); }
_ZNK10N_BELE_RTP8BEPolicy5get32EPKv:
  115|   369k|    V unsigned get32(const void *p) C { return get_be32(p); }
_ZNK10N_BELE_RTP8BEPolicy5get64EPKv:
  116|  77.9k|    V upx_uint64_t get64(const void *p) C { return get_be64(p); }
_ZNK10N_BELE_RTP8BEPolicy12get16_signedEPKv:
  123|  29.3k|    V int get16_signed(const void *p) C { return get_be16_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get24_signedEPKv:
  124|  29.3k|    V int get24_signed(const void *p) C { return get_be24_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get32_signedEPKv:
  125|  29.3k|    V int get32_signed(const void *p) C { return get_be32_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get64_signedEPKv:
  126|  29.3k|    V upx_int64_t get64_signed(const void *p) C { return get_be64_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy5get16EPKv:
  172|   506k|    V unsigned get16(const void *p) C { return get_le16(p); }
_ZNK10N_BELE_RTP8LEPolicy5get24EPKv:
  173|  29.3k|    V unsigned get24(const void *p) C { return get_le24(p); }
_ZNK10N_BELE_RTP8LEPolicy5get32EPKv:
  174|   311k|    V unsigned get32(const void *p) C { return get_le32(p); }
_ZNK10N_BELE_RTP8LEPolicy5get64EPKv:
  175|   146k|    V upx_uint64_t get64(const void *p) C { return get_le64(p); }
_ZNK10N_BELE_RTP8LEPolicy12get16_signedEPKv:
  182|  29.3k|    V int get16_signed(const void *p) C { return get_le16_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get24_signedEPKv:
  183|  29.3k|    V int get24_signed(const void *p) C { return get_le24_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get32_signedEPKv:
  184|  29.3k|    V int get32_signed(const void *p) C { return get_le32_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get64_signedEPKv:
  185|  29.3k|    V upx_int64_t get64_signed(const void *p) C { return get_le64_signed(p); }

_Z17upx_doctest_checkiPPc:
   44|  14.6k|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.6k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST"))
  ------------------
  |  Branch (50:9): [True: 0, False: 14.6k]
  ------------------
   51|      0|        return 0;
   52|  14.6k|    bool minimal = true;   // don't show summary
   53|  14.6k|    bool duration = false; // don't show timings
   54|  14.6k|    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.6k|    const char *e = upx_getenv("UPX_DEBUG_DOCTEST_VERBOSE");
   60|  14.6k|    if (e && e[0]) {
  ------------------
  |  Branch (60:9): [True: 0, False: 14.6k]
  |  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.6k|    doctest::Context context;
   75|  14.6k|    if (minimal)
  ------------------
  |  Branch (75:9): [True: 14.6k, False: 0]
  ------------------
   76|  14.6k|        context.setOption("dt-minimal", true);
   77|  14.6k|    if (duration)
  ------------------
  |  Branch (77:9): [True: 0, False: 14.6k]
  ------------------
   78|      0|        context.setOption("dt-duration", true);
   79|  14.6k|    if (success)
  ------------------
  |  Branch (79:9): [True: 0, False: 14.6k]
  ------------------
   80|      0|        context.setOption("dt-success", true);
   81|       |    // this requires that main_get_options() understands/ignores doctest "--dt-XXX" options
   82|  14.6k|    if (argc > 0 && argv != nullptr)
  ------------------
  |  Branch (82:9): [True: 14.6k, False: 0]
  |  Branch (82:21): [True: 14.6k, False: 0]
  ------------------
   83|  14.6k|        context.applyCommandLine(argc, argv);
   84|  14.6k|    int r = context.run();
   85|  14.6k|    if (r != 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 14.6k]
  ------------------
   86|      0|        return 1;
   87|  14.6k|    if (context.shouldExit())
  ------------------
  |  Branch (87:9): [True: 0, False: 14.6k]
  ------------------
   88|      0|        return 2;
   89|  14.6k|    return 0;
   90|  14.6k|#endif // DOCTEST_CONFIG_DISABLE
   91|  14.6k|}
_Z25upx_compiler_sanity_checkv:
  883|  29.3k|void upx_compiler_sanity_check() noexcept {
  884|  29.3k|    check_basic_floating_point();
  885|       |
  886|  29.3k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST")) {
  ------------------
  |  Branch (886:9): [True: 0, False: 29.3k]
  ------------------
  887|       |        // If UPX_DEBUG_DOCTEST_DISABLE is set then we don't want to throw any
  888|       |        // exceptions in order to improve debugging experience.
  889|  29.3k|    } else {
  890|       |        // check working C++ exception handling to early catch toolchain/qemu/wine/etc problems
  891|  29.3k|        check_basic_cxx_exception_handling(throwSomeValue);
  892|  29.3k|    }
  893|       |
  894|       |    // check_basic_decltype()
  895|  29.3k|    {
  896|  29.3k|        auto a = +0;
  897|  29.3k|        constexpr auto b = -0;
  898|  29.3k|        const auto &c = -1;
  899|  29.3k|        static_assert((std::is_same<int, decltype(a)>::value));
  900|  29.3k|        static_assert((std::is_same<const int, decltype(b)>::value));
  901|  29.3k|        static_assert((std::is_same<const int &, decltype(c)>::value));
  902|  29.3k|        UNUSED(a);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  903|  29.3k|        UNUSED(b);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  904|  29.3k|        UNUSED(c);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  905|  29.3k|    }
  906|       |
  907|  29.3k|#define ACC_WANT_ACC_CHK_CH 1
  908|  29.3k|#undef ACCCHK_ASSERT
  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  910|  29.3k|#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.3k|#if defined(ACC_WANT_ACC_CHK_CH)
  |  | 5573|  29.3k|#  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.3k|#define ACCCHK_VAL  1
  |  | 5620|  29.3k|#define ACCCHK_TMP1 ACCCHK_VAL
  |  | 5621|  29.3k|#undef ACCCHK_VAL
  |  | 5622|  29.3k|#define ACCCHK_VAL  2
  |  | 5623|  29.3k|#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.3k|#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.3k|#undef ACCCHK_TMP1
  |  | 5638|  29.3k|#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.3k|    ACCCHK_ASSERT(1 == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5651|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5652|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5653|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5654|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5655|  29.3k|#if (ACC_SIZEOF_INT >= 2)
  |  | 5656|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5657|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5658|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,16) == 0u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5659|  29.3k|#endif
  |  | 5660|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5661|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,16) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5662|  29.3k|#if (ACC_SIZEOF_INT >= 4)
  |  | 5663|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5664|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5665|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,32) == 0u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5666|  29.3k|#endif
  |  | 5667|  29.3k|#if (ACC_SIZEOF_LONG >= 4)
  |  | 5668|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,32) == 0xffffffffUL)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5669|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,32) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5670|  29.3k|#endif
  |  | 5671|  29.3k|#if (ACC_SIZEOF_LONG >= 8)
  |  | 5672|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5673|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,64) == 0ul)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5674|  29.3k|#endif
  |  | 5675|  29.3k|#if !(ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5676|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,ACC_SIZEOF_INT*8) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5677|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,ACC_SIZEOF_LONG*8) == ~0ul)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5678|  29.3k|#endif
  |  | 5679|  29.3k|#if 1
  |  | 5680|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5681|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5682|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5683|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,0) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5684|  29.3k|#endif
  |  | 5685|  29.3k|#if 1
  |  | 5686|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,1) == 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5687|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,1) == 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5688|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,1) == 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5689|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,2) == 2+4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5690|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,2) == 4+8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5691|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,2) == 8+16)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5692|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,3) == 2+4+8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5693|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,3) == 4+8+16)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5694|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,3) == 8+16+32)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5695|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,1) == 7)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5696|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,2) == 7+14)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5697|  29.3k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,3) == 7+14+28)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5698|  29.3k|#endif
  |  | 5699|  29.3k|#if !(ACC_BROKEN_SIGNED_RIGHT_SHIFT)
  |  | 5700|  29.3k|    ACCCHK_ASSERT(((-1) >> 7) == -1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5701|  29.3k|#endif
  |  | 5702|  29.3k|    ACCCHK_ASSERT(((1)  >> 7) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|    ACCCHK_ASSERT((~0l  & ~0)  == ~0l)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5708|  29.3k|    ACCCHK_ASSERT((~0l  & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5709|  29.3k|    ACCCHK_ASSERT((~0ul & ~0)  == ~0ul)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5710|  29.3k|    ACCCHK_ASSERT((~0ul & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5717|  29.3k|    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5718|  29.3k|#endif
  |  | 5719|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5720|       |#  pragma warning(pop)
  |  | 5721|       |#endif
  |  | 5722|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(signed char)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5723|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5724|  29.3k|    ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5725|  29.3k|    ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5726|  29.3k|    ACCCHK_ASSERT(sizeof(char) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5727|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5728|       |#else
  |  | 5729|  29.3k|    ACCCHK_ASSERT(sizeof(char) == sizeof(ACC_STATIC_CAST(char, 0)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5730|  29.3k|#endif
  |  | 5731|  29.3k|#if defined(__cplusplus)
  |  | 5732|  29.3k|    ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|#if defined(__acc_alignof)
  |  | 5740|  29.3k|    ACCCHK_ASSERT(__acc_alignof(char) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5741|  29.3k|    ACCCHK_ASSERT(__acc_alignof(signed char) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5742|  29.3k|    ACCCHK_ASSERT(__acc_alignof(unsigned char) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5743|  29.3k|#if defined(acc_int16e_t)
  |  | 5744|  29.3k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) >= 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5745|  29.3k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) <= 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5746|  29.3k|#endif
  |  | 5747|  29.3k|#if defined(acc_int32e_t)
  |  | 5748|  29.3k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) >= 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5749|  29.3k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) <= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5750|  29.3k|#endif
  |  | 5751|  29.3k|#endif
  |  | 5752|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(short)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5753|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5754|  29.3k|    ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5755|  29.3k|#if !(ACC_ABI_I8LP16)
  |  | 5756|  29.3k|    ACCCHK_ASSERT(sizeof(short) >= 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5757|  29.3k|#endif
  |  | 5758|  29.3k|    ACCCHK_ASSERT(sizeof(short) >= sizeof(char))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5759|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5760|       |#else
  |  | 5761|  29.3k|    ACCCHK_ASSERT(sizeof(short) == sizeof(ACC_STATIC_CAST(short, 0)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5762|  29.3k|#endif
  |  | 5763|  29.3k|#if (ACC_SIZEOF_SHORT > 0)
  |  | 5764|  29.3k|    ACCCHK_ASSERT(sizeof(short) == ACC_SIZEOF_SHORT)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5765|  29.3k|#endif
  |  | 5766|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(int)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5767|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5768|  29.3k|    ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5769|  29.3k|#if !(ACC_ABI_I8LP16)
  |  | 5770|  29.3k|    ACCCHK_ASSERT(sizeof(int) >= 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5771|  29.3k|#endif
  |  | 5772|  29.3k|    ACCCHK_ASSERT(sizeof(int) >= sizeof(short))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5773|  29.3k|    ACCCHK_ASSERT(sizeof(int) == sizeof(0))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5774|  29.3k|    ACCCHK_ASSERT(sizeof(int) == sizeof(ACC_STATIC_CAST(int, 0)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5775|  29.3k|#if (ACC_SIZEOF_INT > 0)
  |  | 5776|  29.3k|    ACCCHK_ASSERT(sizeof(int) == ACC_SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5777|  29.3k|#endif
  |  | 5778|  29.3k|    ACCCHK_ASSERT(sizeof(0) == sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5779|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(long)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5780|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5781|  29.3k|    ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5782|  29.3k|#if !(ACC_ABI_I8LP16)
  |  | 5783|  29.3k|    ACCCHK_ASSERT(sizeof(long) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5784|  29.3k|#endif
  |  | 5785|  29.3k|    ACCCHK_ASSERT(sizeof(long) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5786|  29.3k|    ACCCHK_ASSERT(sizeof(long) == sizeof(0L))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5787|  29.3k|    ACCCHK_ASSERT(sizeof(long) == sizeof(ACC_STATIC_CAST(long, 0)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5788|  29.3k|#if (ACC_SIZEOF_LONG > 0)
  |  | 5789|  29.3k|    ACCCHK_ASSERT(sizeof(long) == ACC_SIZEOF_LONG)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5790|  29.3k|#endif
  |  | 5791|  29.3k|    ACCCHK_ASSERT(sizeof(0L) == sizeof(long))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5792|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5793|  29.3k|    ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5794|  29.3k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5795|  29.3k|#if (ACC_SIZEOF_SIZE_T > 0)
  |  | 5796|  29.3k|    ACCCHK_ASSERT(sizeof(size_t) == ACC_SIZEOF_SIZE_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5797|  29.3k|#endif
  |  | 5798|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5799|  29.3k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5800|  29.3k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5801|  29.3k|#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.3k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_STATIC_CAST(char*, ACC_nullptr) - ACC_STATIC_CAST(char*, ACC_nullptr)))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5806|  29.3k|#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.3k|#endif
  |  | 5811|  29.3k|#if (ACC_SIZEOF_PTRDIFF_T > 0)
  |  | 5812|  29.3k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == ACC_SIZEOF_PTRDIFF_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5813|  29.3k|#endif
  |  | 5814|  29.3k|    ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5815|  29.3k|#if (ACC_SIZEOF_VOID_P > 0)
  |  | 5816|  29.3k|    ACCCHK_ASSERT(sizeof(void*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5817|  29.3k|    ACCCHK_ASSERT(sizeof(char*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5818|  29.3k|#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.3k|    ACCCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5828|  29.3k|    ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5829|  29.3k|#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.3k|    ACCCHK_ASSERT((1u  << (8*ACC_SIZEOF_INT-1)) > 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|    ACCCHK_ASSERT((1ul << (8*ACC_SIZEOF_LONG-1)) > 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5841|  29.3k|#if defined(acc_int16e_t)
  |  | 5842|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5843|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5844|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint16e_t) == 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5845|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == sizeof(acc_uint16e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5846|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int16e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5847|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint16e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5848|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5849|       |#else
  |  | 5850|  29.3k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint16e_t, (~ACC_STATIC_CAST(acc_uint16e_t,0ul))) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5851|  29.3k|#endif
  |  | 5852|  29.3k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int16e_t, (1 + ~ACC_STATIC_CAST(acc_int16e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|#endif
  |  | 5857|  29.3k|#if defined(acc_int32e_t)
  |  | 5858|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5859|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5860|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5861|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5862|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5863|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32e_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5864|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5865|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32e_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5866|  29.3k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint32e_t, (~ACC_STATIC_CAST(acc_uint32e_t, 0ul))) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5867|  29.3k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int32e_t, (1 + ~ACC_STATIC_CAST(acc_int32e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|#endif
  |  | 5872|  29.3k|#if defined(acc_int32e_t)
  |  | 5873|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5874|  29.3k|#endif
  |  | 5875|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5876|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5877|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5878|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5879|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32l_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5880|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32l_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5881|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32l_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5882|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32l_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5883|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5884|  29.3k|#if defined(acc_int32e_t)
  |  | 5885|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5886|  29.3k|#endif
  |  | 5887|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5888|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5889|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5890|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5891|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5892|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5893|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == sizeof(acc_uint32f_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5894|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32f_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5895|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32f_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5896|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32f_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5897|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32f_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5898|  29.3k|#if defined(acc_int64e_t)
  |  | 5899|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5900|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5901|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint64e_t) == 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5902|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == sizeof(acc_uint64e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5903|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5904|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5905|       |#else
  |  | 5906|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5907|  29.3k|#endif
  |  | 5908|  29.3k|#endif
  |  | 5909|  29.3k|#if defined(acc_int64l_t)
  |  | 5910|  29.3k|#if defined(acc_int64e_t)
  |  | 5911|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5912|  29.3k|#endif
  |  | 5913|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5914|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5915|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5916|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5917|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64l_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5918|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int64l_t, 1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5919|  29.3k|    ACCCHK_ASSERT(((( ACC_INT64_C(1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5920|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5921|       |#else
  |  | 5922|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64l_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5923|  29.3k|    ACCCHK_ASSERT(ACC_UINT64_C(18446744073709551615)     > 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5924|  29.3k|#endif
  |  | 5925|  29.3k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint64l_t, 1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5926|  29.3k|    ACCCHK_ASSERT(((( ACC_UINT64_C(1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    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.3k|    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5931|  29.3k|#endif
  |  | 5932|  29.3k|    ACCCHK_ASSERT(ACC_INT64_C(-9223372036854775807) - 1  < 0)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5933|  29.3k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483629)  == 721)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5934|  29.3k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483647)  == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5935|  29.3k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483629) == 721)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5936|  29.3k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483647) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5937|  29.3k|#endif
  |  | 5938|  29.3k|#if defined(acc_int64f_t)
  |  | 5939|  29.3k|#if defined(acc_int64e_t)
  |  | 5940|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5941|  29.3k|#endif
  |  | 5942|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5943|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5944|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5945|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5946|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5947|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5948|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == sizeof(acc_uint64f_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5949|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64f_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5950|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5951|       |#else
  |  | 5952|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64f_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5953|  29.3k|#endif
  |  | 5954|  29.3k|#endif
  |  | 5955|  29.3k|#if !defined(__ACC_INTPTR_T_IS_POINTER)
  |  | 5956|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_intptr_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5957|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uintptr_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5958|  29.3k|#endif
  |  | 5959|  29.3k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5960|  29.3k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == ACC_SIZEOF_ACC_INTPTR_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5961|  29.3k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5962|  29.3k|#if defined(acc_word_t)
  |  | 5963|  29.3k|    ACCCHK_ASSERT(ACC_WORDSIZE == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5964|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5965|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5966|  29.3k|    ACCCHK_ASSERT(sizeof(acc_word_t) == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5967|  29.3k|    ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5968|  29.3k|#endif
  |  | 5969|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5970|  29.3k|    ACCCHK_ASSERT(sizeof(acc_uint8_t) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5971|  29.3k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5972|  29.3k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int8_t)
  |  |  ------------------
  |  |  |  | 5584|  29.3k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5973|  29.3k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint8_t)
  |  |  ------------------
  |  |  |  | 5591|  29.3k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.3k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5974|  29.3k|#if defined(ACC_INT16_C)
  |  | 5975|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5976|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5977|  29.3k|    ACCCHK_ASSERT((ACC_UINT16_C(0xffff) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5978|  29.3k|#endif
  |  | 5979|  29.3k|#if defined(ACC_INT32_C)
  |  | 5980|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_INT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5981|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_UINT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5982|  29.3k|    ACCCHK_ASSERT((ACC_UINT32_C(0xffffffff) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5983|  29.3k|#endif
  |  | 5984|  29.3k|#if defined(ACC_INT64_C)
  |  | 5985|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0560))
  |  | 5986|       |#else
  |  | 5987|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_INT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5988|  29.3k|    ACCCHK_ASSERT(sizeof(ACC_UINT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5989|  29.3k|#endif
  |  | 5990|  29.3k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5991|  29.3k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0)  == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5992|  29.3k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0l) == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5993|  29.3k|#if (ACC_SIZEOF_INT == 4)
  |  | 5994|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 5995|       |# else
  |  | 5996|  29.3k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5997|  29.3k|# endif
  |  | 5998|  29.3k|#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.3k|#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.3k|#if (ACC_ABI_LP64)
  |  | 6056|  29.3k|    ACCCHK_ASSERT(sizeof(int) == 4)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6057|  29.3k|    ACCCHK_ASSERT(sizeof(long) == 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6058|  29.3k|    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6059|  29.3k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6060|  29.3k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6061|  29.3k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6062|  29.3k|#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.3k|    ACCCHK_ASSERT( ACC_STATIC_CAST(int, ACC_STATIC_CAST(unsigned char, ACC_STATIC_CAST(signed char, -1))) == 255)
  |  |  ------------------
  |  |  |  |  909|  29.3k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6091|  29.3k|#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.3k|#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: */
  ------------------
  911|  29.3k|#undef ACCCHK_ASSERT
  912|       |
  913|  29.3k|    static_assert(sizeof(char) == 1);
  914|  29.3k|    static_assert(sizeof(short) == 2);
  915|  29.3k|    static_assert(sizeof(int) == 4);
  916|  29.3k|    static_assert(sizeof(long) >= 4);
  917|  29.3k|    static_assert(sizeof(long long) >= 8);
  918|  29.3k|    static_assert(sizeof(void *) >= 4);
  919|  29.3k|    static_assert(sizeof(upx_off_t) >= 8);
  920|  29.3k|    static_assert(sizeof(upx_off_t) >= sizeof(long long));
  921|       |
  922|       |// __int64
  923|       |#if defined(_MSC_VER)
  924|       |    {
  925|       |        ASSERT_SAME_TYPE(long long, __int64);
  926|       |        ASSERT_SAME_TYPE(unsigned long long, unsigned __int64);
  927|       |        typedef __int64 my_int64;
  928|       |        typedef unsigned __int64 my_uint64;
  929|       |        ASSERT_SAME_TYPE(long long, my_int64);
  930|       |        ASSERT_SAME_TYPE(unsigned long long, my_uint64);
  931|       |    }
  932|       |#endif
  933|       |
  934|  29.3k|    static_assert(sizeof(BE16) == 2);
  935|  29.3k|    static_assert(sizeof(BE32) == 4);
  936|  29.3k|    static_assert(sizeof(BE64) == 8);
  937|  29.3k|    static_assert(sizeof(LE16) == 2);
  938|  29.3k|    static_assert(sizeof(LE32) == 4);
  939|  29.3k|    static_assert(sizeof(LE64) == 8);
  940|       |
  941|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(BE16)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  942|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(BE32)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  943|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(BE64)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  944|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(LE16)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  945|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(LE32)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  946|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(LE64)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  947|       |
  948|       |    // check that these types are not some multi-word macro
  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  950|  29.3k|    CHECK_TYPE(int8_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  951|  29.3k|    CHECK_TYPE(uint8_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  952|  29.3k|    CHECK_TYPE(int16_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  953|  29.3k|    CHECK_TYPE(uint16_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  954|  29.3k|    CHECK_TYPE(int32_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  955|  29.3k|    CHECK_TYPE(uint32_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  956|  29.3k|    CHECK_TYPE(int64_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  957|  29.3k|    CHECK_TYPE(uint64_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  958|  29.3k|    CHECK_TYPE(intmax_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  959|  29.3k|    CHECK_TYPE(uintmax_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  960|  29.3k|    CHECK_TYPE(ptrdiff_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  961|  29.3k|    CHECK_TYPE(size_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  962|  29.3k|    CHECK_TYPE(intptr_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  963|  29.3k|    CHECK_TYPE(uintptr_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  964|       |#if 0
  965|       |    CHECK_TYPE(acc_int8_t);
  966|       |    CHECK_TYPE(acc_uint8_t);
  967|       |    CHECK_TYPE(acc_int16_t);
  968|       |    CHECK_TYPE(acc_uint16_t);
  969|       |    CHECK_TYPE(acc_int32_t);
  970|       |    CHECK_TYPE(acc_uint32_t);
  971|       |    CHECK_TYPE(acc_int64_t);
  972|       |    CHECK_TYPE(acc_uint64_t);
  973|       |    CHECK_TYPE(acc_intptr_t);
  974|       |    CHECK_TYPE(acc_uintptr_t);
  975|       |#endif
  976|  29.3k|    CHECK_TYPE(upx_int8_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  977|  29.3k|    CHECK_TYPE(upx_uint8_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  978|  29.3k|    CHECK_TYPE(upx_int16_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  979|  29.3k|    CHECK_TYPE(upx_uint16_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  980|  29.3k|    CHECK_TYPE(upx_int32_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  981|  29.3k|    CHECK_TYPE(upx_uint32_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  982|  29.3k|    CHECK_TYPE(upx_int64_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  983|  29.3k|    CHECK_TYPE(upx_uint64_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  984|  29.3k|#if (__SIZEOF_INT128__ == 16)
  985|  29.3k|    CHECK_TYPE(upx_int128_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  986|  29.3k|    CHECK_TYPE(upx_uint128_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  987|  29.3k|#endif
  988|  29.3k|    CHECK_TYPE(upx_intmax_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  989|  29.3k|    CHECK_TYPE(upx_uintmax_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  990|  29.3k|    CHECK_TYPE(upx_off_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  991|  29.3k|    CHECK_TYPE(upx_uptrdiff_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  992|  29.3k|    CHECK_TYPE(upx_ssize_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  993|  29.3k|    CHECK_TYPE(upx_sptraddr_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  994|  29.3k|    CHECK_TYPE(upx_ptraddr_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  995|  29.3k|    CHECK_TYPE(upx_uintptr_t);
  ------------------
  |  |  949|  29.3k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  996|  29.3k|#undef CHECK_TYPE
  997|       |
  998|  29.3k|    CheckIntegral<char>::check();
  999|  29.3k|    CheckIntegral<signed char>::check();
 1000|  29.3k|    CheckIntegral<unsigned char>::check();
 1001|  29.3k|    CheckIntegral<short>::check();
 1002|  29.3k|    CheckIntegral<unsigned short>::check();
 1003|  29.3k|    CheckIntegral<int>::check();
 1004|  29.3k|    CheckIntegral<unsigned>::check();
 1005|  29.3k|    CheckIntegral<long>::check();
 1006|  29.3k|    CheckIntegral<unsigned long>::check();
 1007|  29.3k|    CheckIntegral<long long>::check();
 1008|  29.3k|    CheckIntegral<unsigned long long>::check();
 1009|  29.3k|    CheckIntegral<intmax_t>::check();
 1010|  29.3k|    CheckIntegral<uintmax_t>::check();
 1011|  29.3k|    CheckIntegral<upx_int8_t>::check();
 1012|  29.3k|    CheckIntegral<upx_uint8_t>::check();
 1013|  29.3k|    CheckIntegral<upx_int16_t>::check();
 1014|  29.3k|    CheckIntegral<upx_uint16_t>::check();
 1015|  29.3k|    CheckIntegral<upx_int32_t>::check();
 1016|  29.3k|    CheckIntegral<upx_uint32_t>::check();
 1017|  29.3k|    CheckIntegral<upx_int64_t>::check();
 1018|  29.3k|    CheckIntegral<upx_uint64_t>::check();
 1019|  29.3k|#if (__SIZEOF_INT128__ == 16)
 1020|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1021|       |#else
 1022|  29.3k|    CheckIntegral<upx_int128_t>::check();
 1023|  29.3k|    CheckIntegral<upx_uint128_t>::check();
 1024|  29.3k|    CheckIntegral<upx_intmax_t>::check();
 1025|  29.3k|    CheckIntegral<upx_uintmax_t>::check();
 1026|  29.3k|#endif
 1027|  29.3k|#endif
 1028|  29.3k|    CheckIntegral<upx_off_t>::check();
 1029|  29.3k|    CheckIntegral<ptrdiff_t>::check();
 1030|  29.3k|    CheckIntegral<upx_uptrdiff_t>::check();
 1031|  29.3k|    CheckIntegral<upx_ssize_t>::check();
 1032|  29.3k|    CheckIntegral<size_t>::check();
 1033|  29.3k|    CheckIntegral<upx_sptraddr_t>::check();
 1034|  29.3k|    CheckIntegral<upx_ptraddr_t>::check();
 1035|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 1036|       |    static_assert(sizeof(upx_ptraddr_t) == 8);
 1037|       |    static_assert(alignof(upx_ptraddr_t) == 8);
 1038|       |    static_assert(sizeof(void *) == 16);
 1039|       |    static_assert(alignof(void *) == 16);
 1040|       |    static_assert(sizeof(uintptr_t) == 16);
 1041|       |    static_assert(alignof(uintptr_t) == 16);
 1042|       |    // warning: binary expression on capability types 'unsigned __intcap' and 'unsigned __intcap'
 1043|       |    CheckIntegral<intptr_t>::check_core();
 1044|       |    CheckIntegral<uintptr_t>::check_core();
 1045|       |    CheckIntegral<upx_uintptr_t>::check_core();
 1046|       |#else
 1047|  29.3k|    CheckIntegral<intptr_t>::check();
 1048|  29.3k|    CheckIntegral<uintptr_t>::check();
 1049|  29.3k|    CheckIntegral<upx_uintptr_t>::check();
 1050|  29.3k|#endif
 1051|       |
 1052|  29.3k|    CheckSignedness<char, false>::check(); // -funsigned-char
 1053|  29.3k|    CheckSignedness<signed char, true>::check();
 1054|  29.3k|    CheckSignedness<unsigned char, false>::check();
 1055|  29.3k|    CheckSignedness<short, true>::check();
 1056|  29.3k|    CheckSignedness<unsigned short, false>::check();
 1057|  29.3k|    CheckSignedness<int, true>::check();
 1058|  29.3k|    CheckSignedness<unsigned, false>::check();
 1059|  29.3k|    CheckSignedness<long, true>::check();
 1060|  29.3k|    CheckSignedness<unsigned long, false>::check();
 1061|  29.3k|    CheckSignedness<long long, true>::check();
 1062|  29.3k|    CheckSignedness<unsigned long long, false>::check();
 1063|  29.3k|    CheckSignedness<intmax_t, true>::check();
 1064|  29.3k|    CheckSignedness<uintmax_t, false>::check();
 1065|  29.3k|    CheckSignedness<upx_int8_t, true>::check();
 1066|  29.3k|    CheckSignedness<upx_uint8_t, false>::check();
 1067|  29.3k|    CheckSignedness<upx_int16_t, true>::check();
 1068|  29.3k|    CheckSignedness<upx_uint16_t, false>::check();
 1069|  29.3k|    CheckSignedness<upx_int32_t, true>::check();
 1070|  29.3k|    CheckSignedness<upx_uint32_t, false>::check();
 1071|  29.3k|    CheckSignedness<upx_int64_t, true>::check();
 1072|  29.3k|    CheckSignedness<upx_uint64_t, false>::check();
 1073|  29.3k|#if (__SIZEOF_INT128__ == 16)
 1074|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1075|       |#else
 1076|  29.3k|    CheckSignedness<upx_int128_t, true>::check();
 1077|  29.3k|    CheckSignedness<upx_uint128_t, false>::check();
 1078|  29.3k|    CheckSignedness<upx_intmax_t, true>::check();
 1079|  29.3k|    CheckSignedness<upx_uintmax_t, false>::check();
 1080|  29.3k|#endif
 1081|  29.3k|#endif
 1082|  29.3k|    CheckSignedness<upx_off_t, true>::check();
 1083|  29.3k|    CheckSignedness<ptrdiff_t, true>::check();
 1084|  29.3k|    CheckSignedness<upx_uptrdiff_t, false>::check();
 1085|  29.3k|    CheckSignedness<upx_ssize_t, true>::check();
 1086|  29.3k|    CheckSignedness<size_t, false>::check();
 1087|  29.3k|    CheckSignedness<upx_sptraddr_t, true>::check();
 1088|  29.3k|    CheckSignedness<upx_ptraddr_t, false>::check();
 1089|  29.3k|    CheckSignedness<intptr_t, true>::check();
 1090|  29.3k|    CheckSignedness<uintptr_t, false>::check();
 1091|  29.3k|    CheckSignedness<upx_uintptr_t, false>::check();
 1092|       |
 1093|  29.3k|#define CHECK_TYPE_PAIR(A, B)                                                                      \
 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
 1096|  29.3k|    CHECK_TYPE_PAIR(signed char, unsigned char);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1097|  29.3k|    CHECK_TYPE_PAIR(short, unsigned short);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1098|  29.3k|    CHECK_TYPE_PAIR(int, unsigned);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1099|  29.3k|    CHECK_TYPE_PAIR(long, unsigned long);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1100|  29.3k|    CHECK_TYPE_PAIR(long long, unsigned long long);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1101|  29.3k|    CHECK_TYPE_PAIR(intmax_t, uintmax_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1102|  29.3k|    CHECK_TYPE_PAIR(upx_int8_t, upx_uint8_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1103|  29.3k|    CHECK_TYPE_PAIR(upx_int16_t, upx_uint16_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1104|  29.3k|    CHECK_TYPE_PAIR(upx_int32_t, upx_uint32_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1105|  29.3k|    CHECK_TYPE_PAIR(upx_int64_t, upx_uint64_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1106|  29.3k|#if (__SIZEOF_INT128__ == 16)
 1107|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1108|       |#else
 1109|  29.3k|    CHECK_TYPE_PAIR(upx_int128_t, upx_uint128_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1110|  29.3k|    CHECK_TYPE_PAIR(upx_intmax_t, upx_uintmax_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1111|  29.3k|#endif
 1112|       |#else
 1113|       |    CHECK_TYPE_PAIR(upx_intmax_t, upx_uintmax_t);
 1114|       |#endif
 1115|  29.3k|    CHECK_TYPE_PAIR(ptrdiff_t, upx_uptrdiff_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1116|  29.3k|    CHECK_TYPE_PAIR(upx_ssize_t, size_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1117|  29.3k|    CHECK_TYPE_PAIR(upx_sptraddr_t, upx_ptraddr_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1118|  29.3k|    CHECK_TYPE_PAIR(intptr_t, uintptr_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1119|  29.3k|    CHECK_TYPE_PAIR(acc_intptr_t, acc_uintptr_t);
  ------------------
  |  | 1094|  29.3k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1095|  29.3k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1120|  29.3k|#undef CHECK_TYPE_PAIR
 1121|       |
 1122|  29.3k|    static_assert(sizeof(upx_charptr_unit_type) == 1);
 1123|  29.3k|    COMPILE_TIME_ASSERT_ALIGNED1(upx_charptr_unit_type)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1124|  29.3k|    static_assert(sizeof(*((charptr) nullptr)) == 1);
 1125|       |
 1126|       |    // check UPX_VERSION_xxx
 1127|  29.3k|    {
 1128|  29.3k|        using upx::compile_time::mem_eq;
 1129|  29.3k|        using upx::compile_time::string_len;
 1130|  29.3k|        static_assert(string_len(UPX_VERSION_STRING4) == 4);
 1131|  29.3k|        static_assert(string_len(UPX_VERSION_YEAR) == 4);
 1132|  29.3k|        static_assert(string_len(UPX_VERSION_DATE_ISO) == 10);
 1133|  29.3k|        static_assert(string_len(UPX_VERSION_DATE) == 12 || string_len(UPX_VERSION_DATE) == 13);
 1134|  29.3k|        static_assert(mem_eq(UPX_VERSION_STRING4, UPX_VERSION_STRING, 3));
 1135|  29.3k|        static_assert(mem_eq(UPX_VERSION_YEAR, UPX_VERSION_DATE_ISO, 4));
 1136|  29.3k|        static_assert(mem_eq(UPX_VERSION_YEAR, &UPX_VERSION_DATE[sizeof(UPX_VERSION_DATE) - 5], 4));
 1137|  29.3k|        char buf[64];
 1138|  29.3k|        constexpr long long v = UPX_VERSION_HEX;
  ------------------
  |  |    2|  29.3k|#define UPX_VERSION_HEX      0x050301 /* 05.03.01 */
  ------------------
 1139|  29.3k|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld.%lld", (v >> 16), (v >> 8) & 255,
 1140|  29.3k|                                   v & 255);
 1141|  29.3k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1142|      0|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld%lld", (v >> 16), (v >> 8) & 255,
 1143|  29.3k|                                   v & 255);
 1144|  29.3k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING4) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1145|  29.3k|    }
 1146|       |
 1147|  29.3k|    if (gitrev[0]) {
  ------------------
  |  Branch (1147:9): [True: 29.3k, False: 0]
  ------------------
 1148|  29.3k|        size_t revlen = strlen(gitrev);
  ------------------
  |  |   70|  29.3k|#define strlen upx_safe_strlen
  ------------------
 1149|  29.3k|        if (strncmp(gitrev, "ERROR", 5) == 0) {
  ------------------
  |  Branch (1149:13): [True: 0, False: 29.3k]
  ------------------
 1150|      0|            assert_noexcept(revlen == 5 || revlen == 6);
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1151|  29.3k|        } else {
 1152|  29.3k|            assert_noexcept(revlen == 12 || revlen == 13);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1153|  29.3k|        }
 1154|  29.3k|        if (revlen == 6 || revlen == 13) {
  ------------------
  |  Branch (1154:13): [True: 0, False: 29.3k]
  |  Branch (1154:28): [True: 29.3k, False: 0]
  ------------------
 1155|  29.3k|            assert_noexcept(gitrev[revlen - 1] == '+');
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1156|  29.3k|        }
 1157|  29.3k|    }
 1158|  29.3k|    assert_noexcept(UPX_RSIZE_MAX == 805306368);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1159|  29.3k|    assert_noexcept(UPX_RSIZE_MAX_MEM == 805306368);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1160|  29.3k|    assert_noexcept(UPX_RSIZE_MAX_NOCOMP == 2 * 805306368);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1161|       |
 1162|  29.3k|#if DEBUG || 1
 1163|  29.3k|    assert_noexcept(TestBELE<LE16>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1164|  29.3k|    assert_noexcept(TestBELE<LE32>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1165|  29.3k|    assert_noexcept(TestBELE<LE64>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1166|  29.3k|    assert_noexcept(TestBELE<BE16>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1167|  29.3k|    assert_noexcept(TestBELE<BE32>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1168|  29.3k|    assert_noexcept(TestBELE<BE64>::test());
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1169|      0|    {
 1170|  29.3k|        alignas(16) static const constexpr byte dd[32] = {
 1171|  29.3k|            0, 0, 0, 0,    0,    0,    0,    0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0,
 1172|  29.3k|            0, 0, 0, 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 0,    0,    0,    0,    0};
 1173|  29.3k|#if !defined(upx_fake_alignas_16)
 1174|  29.3k|        assert_noexcept2(ptr_is_aligned<16>(dd));
  ------------------
  |  |  516|  29.3k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1175|  29.3k|        assert_noexcept2(ptr_is_aligned(dd, 16));
  ------------------
  |  |  516|  29.3k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1176|  29.3k|        assert_noexcept2(ptr_align_down(dd + 1, 16) == (dd));
  ------------------
  |  |  516|  29.3k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1177|  29.3k|        assert_noexcept2(ptr_align_up(dd + 1, 16) == (dd + 16));
  ------------------
  |  |  516|  29.3k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1178|  29.3k|#endif
 1179|  29.3k|        const constexpr byte *d = dd + 7;
 1180|  29.3k|        static_assert(upx::compile_time::get_be16(d) == 0xfffe);
 1181|  29.3k|        static_assert(upx::compile_time::get_be24(d) == 0xfffefd);
 1182|  29.3k|        static_assert(upx::compile_time::get_be32(d) == 0xfffefdfc);
 1183|  29.3k|        static_assert(upx::compile_time::get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1184|  29.3k|        static_assert(upx::compile_time::get_le16(d) == 0xfeff);
 1185|  29.3k|        static_assert(upx::compile_time::get_le24(d) == 0xfdfeff);
 1186|  29.3k|        static_assert(upx::compile_time::get_le32(d) == 0xfcfdfeff);
 1187|  29.3k|        static_assert(upx::compile_time::get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1188|  29.3k|        assert_noexcept(upx_adler32(d, 4) == 0x09f003f7);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1189|  29.3k|        assert_noexcept(upx_adler32(d, 4, 0) == 0x09ec03f6);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1190|  29.3k|        assert_noexcept(upx_adler32(d, 4, 1) == 0x09f003f7);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1191|      0|        const N_BELE_RTP::AbstractPolicy *bele;
 1192|  29.3k|        bele = &N_BELE_RTP::be_policy;
 1193|  29.3k|        assert_noexcept(get_be16(d) == 0xfffe);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1194|  29.3k|        assert_noexcept(bele->get16(d) == 0xfffe);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1195|  29.3k|        assert_noexcept(get_be16_signed(d) == -2);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1196|  29.3k|        assert_noexcept(bele->get16_signed(d) == -2);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1197|  29.3k|        assert_noexcept(get_be24(d) == 0xfffefd);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1198|  29.3k|        assert_noexcept(bele->get24(d) == 0xfffefd);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1199|  29.3k|        assert_noexcept(get_be24_signed(d) == -259);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1200|  29.3k|        assert_noexcept(bele->get24_signed(d) == -259);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1201|  29.3k|        assert_noexcept(get_be32(d) == 0xfffefdfc);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1202|  29.3k|        assert_noexcept(bele->get32(d) == 0xfffefdfc);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1203|  29.3k|        assert_noexcept(get_be32_signed(d) == -66052);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1204|  29.3k|        assert_noexcept(bele->get32_signed(d) == -66052);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1205|  29.3k|        assert_noexcept(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1206|  29.3k|        assert_noexcept(bele->get64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1207|  29.3k|        assert_noexcept(get_be64_signed(d) == -283686952306184LL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1208|  29.3k|        assert_noexcept(bele->get64_signed(d) == -283686952306184LL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1209|      0|        bele = &N_BELE_RTP::le_policy;
 1210|  29.3k|        assert_noexcept(get_le16(d) == 0xfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1211|  29.3k|        assert_noexcept(bele->get16(d) == 0xfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1212|  29.3k|        assert_noexcept(get_le16_signed(d) == -257);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1213|  29.3k|        assert_noexcept(bele->get16_signed(d) == -257);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1214|  29.3k|        assert_noexcept(get_le24(d) == 0xfdfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1215|  29.3k|        assert_noexcept(bele->get24(d) == 0xfdfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1216|  29.3k|        assert_noexcept(get_le24_signed(d) == -131329);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1217|  29.3k|        assert_noexcept(bele->get24_signed(d) == -131329);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1218|  29.3k|        assert_noexcept(get_le32(d) == 0xfcfdfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1219|  29.3k|        assert_noexcept(bele->get32(d) == 0xfcfdfeff);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1220|  29.3k|        assert_noexcept(get_le32_signed(d) == -50462977);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1221|  29.3k|        assert_noexcept(bele->get32_signed(d) == -50462977);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1222|  29.3k|        assert_noexcept(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1223|  29.3k|        assert_noexcept(bele->get64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1224|  29.3k|        assert_noexcept(get_le64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1225|  29.3k|        assert_noexcept(bele->get64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1226|      0|        static_assert(get_be24(d) == 0xfffefd);
 1227|  29.3k|        static_assert(get_le24(d) == 0xfdfeff);
 1228|  29.3k|#if defined(upx_is_constant_evaluated)
 1229|  29.3k|        static_assert(get_be24_signed(d) == -259);
 1230|  29.3k|        static_assert(get_le24_signed(d) == -131329);
 1231|  29.3k|        static_assert(get_be16(d) == 0xfffe);
 1232|  29.3k|        static_assert(get_be16_signed(d) == -2);
 1233|  29.3k|        static_assert(get_be32(d) == 0xfffefdfc);
 1234|  29.3k|        static_assert(get_be32_signed(d) == -66052);
 1235|  29.3k|        static_assert(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1236|  29.3k|        static_assert(get_be64_signed(d) == -283686952306184LL);
 1237|  29.3k|        static_assert(get_le16(d) == 0xfeff);
 1238|  29.3k|        static_assert(get_le16_signed(d) == -257);
 1239|  29.3k|        static_assert(get_le32(d) == 0xfcfdfeff);
 1240|  29.3k|        static_assert(get_le32_signed(d) == -50462977);
 1241|  29.3k|        static_assert(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1242|  29.3k|        static_assert(get_le64_signed(d) == -506097522914230529LL);
 1243|  29.3k|#endif
 1244|  29.3k|        assert_noexcept(find_be16(d, 2, 0xfffe) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1245|  29.3k|        assert_noexcept(find_le16(d, 2, 0xfeff) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1246|  29.3k|        assert_noexcept(find_be32(d, 4, 0xfffefdfc) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1247|  29.3k|        assert_noexcept(find_le32(d, 4, 0xfcfdfeff) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1248|      0|        const constexpr byte *e = d + 12;
 1249|  29.3k|        assert_noexcept(get_be16_signed(e) == 32638);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1250|  29.3k|        assert_noexcept(get_be24_signed(e) == 8355453);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1251|  29.3k|        assert_noexcept(get_be32_signed(e) == 2138996092);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1252|  29.3k|        assert_noexcept(get_be64_signed(e) == 9186918263483431288LL);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1253|      0|#if defined(upx_is_constant_evaluated)
 1254|      0|        static_assert(get_be16_signed(e) == 32638);
 1255|  29.3k|        static_assert(get_be24_signed(e) == 8355453);
 1256|  29.3k|        static_assert(get_be32_signed(e) == 2138996092);
 1257|  29.3k|        static_assert(get_be64_signed(e) == 9186918263483431288LL);
 1258|  29.3k|#endif
 1259|  29.3k|    }
 1260|      0|#if defined(upx_is_constant_evaluated)
 1261|      0|    {
 1262|  29.3k|        constexpr upx_uint16_t v16 = 0x0201;
 1263|  29.3k|        constexpr upx_uint32_t v32 = 0x04030201;
 1264|  29.3k|        constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1265|  29.3k|        constexpr BE16 be16 = BE16::make(v16);
 1266|  29.3k|        constexpr BE32 be32 = BE32::make(v32);
 1267|  29.3k|        constexpr BE64 be64 = BE64::make(v64);
 1268|  29.3k|        constexpr LE16 le16 = LE16::make(v16);
 1269|  29.3k|        constexpr LE32 le32 = LE32::make(v32);
 1270|  29.3k|        constexpr LE64 le64 = LE64::make(v64);
 1271|  29.3k|        using upx::compile_time::mem_eq;
 1272|  29.3k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1273|  29.3k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1274|  29.3k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1275|  29.3k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1276|  29.3k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1277|  29.3k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1278|  29.3k|        constexpr NE16 ne16 = NE16::make(v16);
 1279|  29.3k|        constexpr NE32 ne32 = NE32::make(v32);
 1280|  29.3k|        constexpr NE64 ne64 = NE64::make(v64);
 1281|  29.3k|        assert_noexcept(memcmp(&v16, ne16.d, 2) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1282|  29.3k|        assert_noexcept(memcmp(&v32, ne32.d, 4) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1283|  29.3k|        assert_noexcept(memcmp(&v64, ne64.d, 8) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1284|  29.3k|    }
 1285|      0|#endif
 1286|       |#if DEBUG >= 1
 1287|       |    {
 1288|       |        for (int i = -256; i < 256; i++) {
 1289|       |            {
 1290|       |                const unsigned u = i;
 1291|       |                assert_noexcept(sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
 1292|       |                assert_noexcept(sign_extend32(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1293|       |                assert_noexcept(sign_extend32(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1294|       |                assert_noexcept(sign_extend32(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1295|       |                assert_noexcept(sign_extend32(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1296|       |                assert_noexcept(sign_extend32(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1297|       |                assert_noexcept(sign_extend32(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1298|       |                assert_noexcept(sign_extend32(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1299|       |                assert_noexcept(sign_extend32(u, 9) == i);
 1300|       |                assert_noexcept(sign_extend32(u, 32) == i);
 1301|       |                assert_noexcept(sign_extend32(0u - u, 32) == -i);
 1302|       |            }
 1303|       |            {
 1304|       |                const upx_uint64_t u = i;
 1305|       |                assert_noexcept(sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
 1306|       |                assert_noexcept(sign_extend64(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1307|       |                assert_noexcept(sign_extend64(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1308|       |                assert_noexcept(sign_extend64(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1309|       |                assert_noexcept(sign_extend64(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1310|       |                assert_noexcept(sign_extend64(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1311|       |                assert_noexcept(sign_extend64(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1312|       |                assert_noexcept(sign_extend64(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1313|       |                assert_noexcept(sign_extend64(u, 9) == i);
 1314|       |                assert_noexcept(sign_extend64(u, 32) == i);
 1315|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 32) == -i);
 1316|       |                assert_noexcept(sign_extend64(u, 64) == i);
 1317|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 64) == -i);
 1318|       |            }
 1319|       |        }
 1320|       |    }
 1321|       |#endif
 1322|      0|    {
 1323|  29.3k|        unsigned dd;
 1324|  29.3k|        void *const d = &dd;
 1325|  29.3k|        dd = ne32_to_le32(0xf7f6f5f4);
  ------------------
  |  |  293|  29.3k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
 1326|  29.3k|        assert_noexcept(get_le26(d) == 0x03f6f5f4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1327|      0|        set_le26(d, 0);
 1328|  29.3k|        assert_noexcept(get_le26(d) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1329|  29.3k|        assert_noexcept(dd == ne32_to_le32(0xf4000000));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1330|      0|        set_le26(d, 0xff020304);
 1331|  29.3k|        assert_noexcept(get_le26(d) == 0x03020304);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1332|  29.3k|        assert_noexcept(dd == ne32_to_le32(0xf7020304));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1333|  29.3k|    }
 1334|      0|    {
 1335|  29.3k|        upx_uint16_t a = 0;
 1336|  29.3k|        upx_uint32_t b = 0;
 1337|  29.3k|        upx_uint64_t c = 0;
 1338|  29.3k|        set_ne16(&a, 0x04030201); // ignore upper bits
 1339|  29.3k|        set_ne32(&b, 0x04030201);
 1340|  29.3k|        set_ne64(&c, 0x0807060504030201ull);
 1341|  29.3k|        assert_noexcept(a == 0x0201);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1342|  29.3k|        assert_noexcept(b == 0x04030201);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1343|  29.3k|        assert_noexcept(c == 0x0807060504030201ull);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1344|  29.3k|        assert_noexcept(get_ne16(&a) == 0x0201);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1345|  29.3k|        assert_noexcept(get_ne32(&b) == 0x04030201);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1346|  29.3k|        assert_noexcept(get_ne64(&c) == 0x0807060504030201ull);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1347|  29.3k|    }
 1348|      0|#endif // DEBUG
 1349|      0|    union {
 1350|  29.3k|        short v_short;
 1351|  29.3k|        int v_int;
 1352|  29.3k|        long v_long;
 1353|  29.3k|        long long v_llong;
 1354|  29.3k|        BE16 b16;
 1355|  29.3k|        BE32 b32;
 1356|  29.3k|        BE64 b64;
 1357|  29.3k|        LE16 l16;
 1358|  29.3k|        LE32 l32;
 1359|  29.3k|        LE64 l64;
 1360|  29.3k|    } u;
 1361|  29.3k|    assert_noexcept(testNoAliasing(&u.v_short, &u.b32));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1362|  29.3k|    assert_noexcept(testNoAliasing(&u.v_short, &u.l32));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1363|  29.3k|    assert_noexcept(testNoAliasing(&u.v_int, &u.b64));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1364|  29.3k|    assert_noexcept(testNoAliasing(&u.v_int, &u.l64));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1365|       |    // check working -fno-strict-aliasing
 1366|  29.3k|    assert_noexcept(testNoAliasing(&u.v_short, &u.v_int));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1367|  29.3k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_long));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1368|  29.3k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_llong));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1369|  29.3k|    assert_noexcept(testNoAliasing(&u.v_long, &u.v_llong));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1370|       |
 1371|       |#if 1 && (ACC_CC_MSC) && (defined(_M_ARM64) || defined(_M_ARM64EC))
 1372|       |    // @COMPILER_BUG @MSVC_BUG
 1373|       |#else
 1374|  29.3k|    assert_noexcept(TestIntegerWrap<unsigned>::inc_gt(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1375|  29.3k|    assert_noexcept(!TestIntegerWrap<unsigned>::inc_gt(UINT_MAX));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1376|  29.3k|    assert_noexcept(TestIntegerWrap<unsigned>::dec_lt(1));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1377|  29.3k|    assert_noexcept(!TestIntegerWrap<unsigned>::dec_lt(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1378|  29.3k|    assert_noexcept(TestIntegerWrap<unsigned>::neg_eq(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1379|  29.3k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(1));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1380|  29.3k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(UINT_MAX));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1381|       |    // check working -fno-strict-overflow
 1382|  29.3k|    assert_noexcept(TestIntegerWrap<int>::inc_gt(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1383|  29.3k|    assert_noexcept(!TestIntegerWrap<int>::inc_gt(INT_MAX));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1384|  29.3k|    assert_noexcept(TestIntegerWrap<int>::dec_lt(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1385|  29.3k|    assert_noexcept(!TestIntegerWrap<int>::dec_lt(INT_MIN));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1386|  29.3k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(0));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1387|  29.3k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(1));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1388|  29.3k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(INT_MAX));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1389|  29.3k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(INT_MIN)); // special case
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1390|  29.3k|#endif
 1391|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_126check_basic_floating_pointEv:
  858|  29.3k|static noinline void check_basic_floating_point() noexcept {
  859|  29.3k|    assert_noexcept(i64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  860|  29.3k|    assert_noexcept(u64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  861|  29.3k|    assert_noexcept(i64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  862|  29.3k|    assert_noexcept(u64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  863|  29.3k|    assert_noexcept(i64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  864|  29.3k|    assert_noexcept(u64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  865|  29.3k|    assert_noexcept(i64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  866|  29.3k|    assert_noexcept(u64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  867|      0|    TestFloat<upx_int32_t, float>::test();
  868|  29.3k|    TestFloat<upx_uint32_t, float>::test();
  869|  29.3k|    TestFloat<upx_int64_t, float>::test();
  870|  29.3k|    TestFloat<upx_uint64_t, float>::test();
  871|  29.3k|    TestFloat<upx_int32_t, double>::test();
  872|  29.3k|    TestFloat<upx_uint32_t, double>::test();
  873|  29.3k|    TestFloat<upx_int64_t, double>::test();
  874|  29.3k|    TestFloat<upx_uint64_t, double>::test();
  875|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_add_divExx:
  803|  29.3k|static noinline float i64_f32_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  804|  29.3k|    return (a + b) / 1000000.0f;
  805|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_add_divEyy:
  806|  29.3k|static noinline float u64_f32_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  807|  29.3k|    return (a + b) / 1000000.0f;
  808|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_sub_divExx:
  809|  29.3k|static noinline float i64_f32_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  810|  29.3k|    return (a - b) / 1000000.0f;
  811|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_sub_divEyy:
  812|  29.3k|static noinline float u64_f32_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  813|  29.3k|    return (a - b) / 1000000.0f;
  814|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_add_divExx:
  816|  29.3k|static noinline double i64_f64_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  817|  29.3k|    return (a + b) / 1000000.0;
  818|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_add_divEyy:
  819|  29.3k|static noinline double u64_f64_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  820|  29.3k|    return (a + b) / 1000000.0;
  821|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_sub_divExx:
  822|  29.3k|static noinline double i64_f64_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  823|  29.3k|    return (a - b) / 1000000.0;
  824|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_sub_divEyy:
  825|  29.3k|static noinline double u64_f64_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  826|  29.3k|    return (a - b) / 1000000.0;
  827|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE3divEif:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7add_divEiif:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE3divEjf:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7add_divEjjf:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE3divExf:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7add_divExxf:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE3divEyf:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7add_divEyyf:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE3divEid:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7add_divEiid:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE3divEjd:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7add_divEjjd:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE3divExd:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7add_divExxd:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE4testEv:
  837|  29.3k|    static noinline void test() noexcept {
  838|  29.3k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  839|  29.3k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  840|  29.3k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  841|  29.3k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.3k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|       |        // extra debugging; floating point edge cases cause portability problems in practice
  844|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  845|  29.3k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (845:13): [True: 0, False: 29.3k]
  ------------------
  846|       |#if defined(__FAST_MATH__)
  847|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  848|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  849|       |#else
  850|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  851|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  852|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  853|      0|#endif
  854|      0|        }
  855|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE3divEyd:
  832|  29.3k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7add_divEyyd:
  833|  29.3k|    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:
  835|  29.3k|    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:
  834|  29.3k|    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:
  836|  29.3k|    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:
  785|  29.3k|static noinline void check_basic_cxx_exception_handling(void (*func)(int)) noexcept {
  786|  29.3k|    bool cxx_exception_handling_works = false;
  787|  29.3k|    int x = 1;
  788|  29.3k|    try {
  789|  29.3k|        TestDestructor d(&x, 3);
  790|  29.3k|        check_exceptions_2(func, &x);
  791|  29.3k|    } catch (const size_t &e) {
  792|  29.3k|        if (e == 1 && x == 23)
  ------------------
  |  Branch (792:13): [True: 29.3k, False: 0]
  |  Branch (792:23): [True: 29.3k, False: 0]
  ------------------
  793|  29.3k|            cxx_exception_handling_works = true;
  794|  29.3k|    } catch (...) {
  795|      0|    }
  796|  29.3k|    assert_noexcept(cxx_exception_handling_works);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorC2EPii:
  767|  58.7k|    explicit TestDestructor(int *pp, int vv) noexcept : p(pp), v(vv) {}
dt_check.cpp:_ZN12_GLOBAL__N_118check_exceptions_2EPFviEPi:
  780|  29.3k|static noinline void check_exceptions_2(void (*func)(int), int *x) may_throw {
  781|  29.3k|    TestDestructor d(x, *x);
  782|  29.3k|    func(*x);
  783|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorD2Ev:
  768|  58.7k|    virtual noinline ~TestDestructor() noexcept { *p = (*p << 2) + v; }
dt_check.cpp:_ZN12_GLOBAL__N_114throwSomeValueEi:
  773|  29.3k|static noinline void throwSomeValue(int x) may_throw {
  774|  29.3k|    if (x < 0)
  ------------------
  |  Branch (774:9): [True: 0, False: 29.3k]
  ------------------
  775|      0|        throw int(x);
  776|  29.3k|    else
  777|  29.3k|        throw size_t(x);
  778|  29.3k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
 1397|  14.6k|TEST_CASE("upx_is_constant_evaluated") {
 1398|  14.6k|#if defined(upx_is_constant_evaluated)
 1399|  14.6k|    CHECK(true);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1400|  14.6k|#endif
 1401|  14.6k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
 1403|  14.6k|TEST_CASE("assert_noexcept") {
 1404|       |    // just to make sure that our own assert() macros do not trigger any compiler warnings
 1405|  14.6k|    byte dummy = 0;
 1406|  14.6k|    byte *ptr1 = &dummy;
 1407|  14.6k|    const byte *const ptr2 = &dummy;
 1408|  14.6k|    void *ptr3 = nullptr;
 1409|  14.6k|    assert(true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1410|  14.6k|    assert(1);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1411|  14.6k|    assert(ptr1);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1412|  14.6k|    assert(ptr2);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1413|  14.6k|    assert(!ptr3);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1414|  14.6k|    assert_noexcept(true);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1415|  14.6k|    assert_noexcept(1);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1416|  14.6k|    assert_noexcept(ptr1);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1417|  14.6k|    assert_noexcept(ptr2);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1418|  14.6k|    assert_noexcept(!ptr3);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1419|  14.6k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
 1421|  14.6k|TEST_CASE("acc_vget") {
 1422|  14.6k|    CHECK_EQ(acc_vget_int(0, 0), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1423|  14.6k|    CHECK_EQ(acc_vget_long(1, -1), 1);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1424|  14.6k|    CHECK_EQ(acc_vget_acc_int64l_t(2, 1), 2);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1425|  14.6k|    CHECK_EQ(acc_vget_acc_hvoid_p(nullptr, 0), nullptr);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1426|  14.6k|    if (acc_vget_int(1, 0) > 0)
  ------------------
  |  Branch (1426:9): [True: 14.6k, False: 0]
  ------------------
 1427|  14.6k|        return;
 1428|      0|    assert_noexcept(false);
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1429|      0|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
 1431|  14.6k|TEST_CASE("ptr_invalidate_and_poison") {
 1432|  14.6k|    int *ip = nullptr; // initialized
 1433|  14.6k|    ptr_invalidate_and_poison(ip);
 1434|  14.6k|    assert(ip != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1435|      0|    (void) ip;
 1436|  14.6k|    double *dp; // not initialized
 1437|  14.6k|    ptr_invalidate_and_poison(dp);
 1438|  14.6k|    assert(dp != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1439|      0|    (void) dp;
 1440|  14.6k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
 1442|  14.6k|TEST_CASE("upx_getenv") {
 1443|  14.6k|    CHECK_EQ(upx_getenv(nullptr), nullptr);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1444|  14.6k|    CHECK_EQ(upx_getenv(""), nullptr);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1445|  14.6k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1447|  14.6k|TEST_CASE("working -fno-strict-aliasing") {
 1448|  14.6k|    bool ok;
 1449|  14.6k|    long v = 0;
 1450|  14.6k|    short *ps = ACC_STATIC_CAST(short *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.6k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1451|  14.6k|    int *pi = ACC_STATIC_CAST(int *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.6k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1452|  14.6k|    long *pl = ACC_STATIC_CAST(long *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.6k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1453|  14.6k|    *ps = 0;
 1454|  14.6k|    *pl = -1;
 1455|  14.6k|    ok = *ps == -1;
 1456|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1457|  14.6k|    *pi = 0;
 1458|  14.6k|    *pl = -1;
 1459|  14.6k|    ok = *pi == -1;
 1460|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1461|  14.6k|    *pl = 0;
 1462|  14.6k|    *ps = -1;
 1463|  14.6k|    ok = *pl != 0;
 1464|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1465|  14.6k|    *pl = 0;
 1466|  14.6k|    *pi = -1;
 1467|  14.6k|    ok = *pl != 0;
 1468|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1469|  14.6k|    UNUSED(ok);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1470|  14.6k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
 1472|  14.6k|TEST_CASE("working -fno-strict-overflow") {
 1473|  14.6k|    CHECK_EQ(acc_vget_int(INT_MAX, 0) + 1, INT_MIN);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1474|  14.6k|    CHECK_EQ(acc_vget_int(INT_MIN, 0) - 1, INT_MAX);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1475|  14.6k|    CHECK_EQ(acc_vget_long(LONG_MAX, 0) + 1, LONG_MIN);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1476|  14.6k|    CHECK_EQ(acc_vget_long(LONG_MIN, 0) - 1, LONG_MAX);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1477|  14.6k|    bool ok;
 1478|  14.6k|    int i;
 1479|  14.6k|    i = INT_MAX;
 1480|  14.6k|    i += 1;
 1481|  14.6k|    ok = i == INT_MIN;
 1482|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1483|  14.6k|    i = INT_MIN;
 1484|  14.6k|    i -= 1;
 1485|  14.6k|    ok = i == INT_MAX;
 1486|  14.6k|    CHECK(ok);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1487|  14.6k|    UNUSED(ok);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1488|  14.6k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
 1490|  14.6k|TEST_CASE("libc snprintf") {
 1491|       |    // runtime check that Windows/MinGW <stdio.h> works as expected
 1492|  14.6k|    char buf[64];
 1493|  14.6k|    long long ll = acc_vget_int(-1, 0);
 1494|  14.6k|    unsigned long long llu = (upx_uint64_t) (upx_int64_t) ll;
 1495|  14.6k|    snprintf(buf, sizeof(buf), "%d.%ld.%lld.%u.%lu.%llu", -3, -2L, ll, 3U, 2LU, llu);
  ------------------
  |  |   75|  14.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1496|  14.6k|    CHECK_EQ(strcmp(buf, "-3.-2.-1.3.2.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1497|  14.6k|    intmax_t im = ll;
 1498|  14.6k|    uintmax_t um = llu;
 1499|  14.6k|    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.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1500|  14.6k|    CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1501|  14.6k|    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.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1502|  14.6k|    CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1503|  14.6k|    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.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1504|  14.6k|    CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1505|  14.6k|    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.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1506|  14.6k|    CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1507|  14.6k|    snprintf(buf, sizeof(buf), "%#X %#lx %#llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1508|  14.6k|    CHECK_EQ(strcmp(buf, "0X1A 0x1b 0x1c"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1509|  14.6k|    snprintf(buf, sizeof(buf), "%#06x %#06lX %#06llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1510|  14.6k|    CHECK_EQ(strcmp(buf, "0x001a 0X001B 0x001c"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1511|  14.6k|    snprintf(buf, sizeof(buf), "%#6x %#6lx %#6llX", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1512|  14.6k|    CHECK_EQ(strcmp(buf, "  0x1a   0x1b   0X1C"), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1513|  14.6k|    snprintf(buf, sizeof(buf), "%#-6X %#-6lx %#-6llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.6k|#define snprintf  upx_safe_snprintf
  ------------------
 1514|  14.6k|    CHECK_EQ(strcmp(buf, "0X1A   0x1b   0x1c  "), 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1515|  14.6k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
 1517|  14.6k|TEST_CASE("libc qsort") {
 1518|       |    // runtime check that libc qsort() never compares identical objects
 1519|       |    // UPDATE: while only poor implementations of qsort() would actually do this
 1520|       |    //   it is probably allowed by the standard, so skip this test by default
 1521|  14.6k|    if (!is_envvar_true("UPX_DEBUG_TEST_LIBC_QSORT"))
  ------------------
  |  Branch (1521:9): [True: 14.6k, False: 0]
  ------------------
 1522|  14.6k|        return;
 1523|       |
 1524|      0|    struct Elem final {
 1525|      0|        upx_uint16_t id;
 1526|      0|        upx_uint16_t value;
 1527|      0|        static int __acc_cdecl_qsort compare(const void *aa, const void *bb) noexcept {
 1528|      0|            const Elem *a = (const Elem *) aa;
 1529|      0|            const Elem *b = (const Elem *) bb;
 1530|      0|            assert_noexcept(a->id != b->id); // check not IDENTICAL
 1531|      0|            return a->value == b->value ? 0 : (a->value < b->value ? -1 : 1);
 1532|      0|        }
 1533|      0|        static noinline bool check_sort(upx_sort_func_t sort, Elem *e, size_t n, bool is_stable) {
 1534|      0|            upx_uint32_t x = 5381 + (upx_rand() & 255);
 1535|      0|            for (size_t i = 0; i < n; i++) {
 1536|      0|                e[i].id = (upx_uint16_t) i;
 1537|      0|                x = x * 33 + 1 + (i & 255);
 1538|      0|                e[i].value = (upx_uint16_t) ((x >> 4) & 15);
 1539|      0|            }
 1540|      0|            sort(e, n, sizeof(Elem), Elem::compare);
 1541|       |            // verify
 1542|      0|            for (size_t i = 1; i < n; i++) {
 1543|      0|                if very_unlikely (e[i - 1].value > e[i].value)
 1544|      0|                    return false;
 1545|      0|                if (is_stable)
 1546|      0|                    if very_unlikely (e[i - 1].value == e[i].value && e[i - 1].id >= e[i].id)
 1547|      0|                        return false;
 1548|      0|            }
 1549|      0|            return true;
 1550|      0|        }
 1551|      0|    };
 1552|       |
 1553|      0|    constexpr size_t N = 256;
 1554|      0|    Elem e[N];
 1555|      0|    for (size_t n = 0; n <= N; n = 2 * n + 1) {
  ------------------
  |  Branch (1555:24): [True: 0, False: 0]
  ------------------
 1556|       |        // system sort functions
 1557|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1558|       |#if UPX_CONFIG_USE_STABLE_SORT
 1559|       |        upx_sort_func_t wrap_stable_sort = [](void *aa, size_t nn, size_t, upx_compare_func_t cc) {
 1560|       |            upx_std_stable_sort<sizeof(Elem)>(aa, nn, cc);
 1561|       |        };
 1562|       |        CHECK(Elem::check_sort(wrap_stable_sort, e, n, true)); // std::stable_sort()
 1563|       |#endif
 1564|       |        // simple UPX sort functions
 1565|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1566|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1567|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1568|      0|    }
 1569|      0|}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|  29.3k|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|  29.3k|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIcEEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  29.3k|#if defined(upx_is_constant_evaluated)
  403|  29.3k|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIKcEEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  29.3k|#if defined(upx_is_constant_evaluated)
  403|  29.3k|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIaEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIKaEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIhEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIKhEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIsEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIKsEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUItEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUIKtEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIiEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIKiEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIjEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIKjEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE5checkEv:
  458|   176k|    static noinline void check() noexcept {
  459|   176k|        check_core();
  460|   176k|        {
  461|   176k|            T zero, one, three, four;
  462|   176k|            zero = 0;
  463|   176k|            one = 1;
  464|   176k|            three = 3;
  465|   176k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|   176k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   176k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   176k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   176k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   176k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   176k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   176k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|   176k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|   176k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|   176k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|   176k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|   176k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|   176k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|   176k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|   176k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|   176k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|   176k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|   176k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|   176k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|   176k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|   176k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|   176k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|   176k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|   176k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|   176k|        }
  493|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE10check_coreEv:
  417|   176k|    static noinline void check_core() noexcept {
  418|   176k|        checkU<T>();
  419|   176k|        checkU<typename std::add_const<T>::type>();
  420|   176k|        {
  421|   176k|            TestT t = {};
  422|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|   176k|        }
  425|      0|        {
  426|   176k|            const TestT t = {};
  427|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|   176k|        }
  430|   176k|        {
  431|   176k|            constexpr TestT t = {};
  432|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|   176k|        }
  435|   176k|        {
  436|   176k|            TestT t;
  437|   176k|            mem_clear(&t);
  438|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   176k|        }
  441|      0|        {
  442|   176k|            T zero, one, three, four;
  443|   176k|            zero = 0;
  444|   176k|            one = 1;
  445|   176k|            three = 3;
  446|   176k|            four = 4;
  447|   176k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   176k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   176k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   176k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|   176k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   176k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   176k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   176k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   176k|        }
  457|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIlEEvv:
  373|   176k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   176k|        static_assert(upx_is_integral<U>::value);
  376|   176k|        static_assert(upx_is_integral_v<U>);
  377|   176k|#if __cplusplus <= 201703L
  378|   176k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   176k|#endif
  380|   176k|        static_assert(std::is_standard_layout<U>::value);
  381|   176k|#if __cplusplus <= 202302L
  382|   176k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   176k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   176k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   176k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   176k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   176k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   176k|        {
  390|   176k|            U a = {};
  391|   176k|            const U b = {};
  392|   176k|            constexpr U c = {};
  393|   176k|            U x[2] = {};
  394|   176k|            const U y[2] = {};
  395|   176k|            constexpr U z[2] = {};
  396|   176k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   176k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   176k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   176k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   176k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   176k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   176k|#if defined(upx_is_constant_evaluated)
  403|   176k|            static_assert(c == 0);
  404|   176k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   176k|#endif
  406|   176k|        }
  407|      0|        {
  408|   176k|            TestU<U> t;
  409|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   176k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   176k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   176k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   176k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   176k|        }
  416|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIKlEEvv:
  373|   176k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   176k|        static_assert(upx_is_integral<U>::value);
  376|   176k|        static_assert(upx_is_integral_v<U>);
  377|   176k|#if __cplusplus <= 201703L
  378|   176k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   176k|#endif
  380|   176k|        static_assert(std::is_standard_layout<U>::value);
  381|   176k|#if __cplusplus <= 202302L
  382|   176k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   176k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   176k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   176k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   176k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   176k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   176k|        {
  390|   176k|            U a = {};
  391|   176k|            const U b = {};
  392|   176k|            constexpr U c = {};
  393|   176k|            U x[2] = {};
  394|   176k|            const U y[2] = {};
  395|   176k|            constexpr U z[2] = {};
  396|   176k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   176k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   176k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   176k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   176k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   176k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   176k|#if defined(upx_is_constant_evaluated)
  403|   176k|            static_assert(c == 0);
  404|   176k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   176k|#endif
  406|   176k|        }
  407|      0|        {
  408|   176k|            TestU<U> t;
  409|   176k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   176k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   176k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   176k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   176k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 176k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   176k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|   176k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   352k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 176k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   176k|        }
  416|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE5checkEv:
  458|   205k|    static noinline void check() noexcept {
  459|   205k|        check_core();
  460|   205k|        {
  461|   205k|            T zero, one, three, four;
  462|   205k|            zero = 0;
  463|   205k|            one = 1;
  464|   205k|            three = 3;
  465|   205k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|   205k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   205k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   205k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   205k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   205k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   205k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   205k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|   205k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|   205k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|   205k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|   205k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|   205k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|   205k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|   205k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|   205k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|   205k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|   205k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|   205k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|   205k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|   205k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|   205k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|   205k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|   205k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|   205k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|   205k|        }
  493|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE10check_coreEv:
  417|   205k|    static noinline void check_core() noexcept {
  418|   205k|        checkU<T>();
  419|   205k|        checkU<typename std::add_const<T>::type>();
  420|   205k|        {
  421|   205k|            TestT t = {};
  422|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|   205k|        }
  425|      0|        {
  426|   205k|            const TestT t = {};
  427|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|   205k|        }
  430|   205k|        {
  431|   205k|            constexpr TestT t = {};
  432|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|   205k|        }
  435|   205k|        {
  436|   205k|            TestT t;
  437|   205k|            mem_clear(&t);
  438|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   205k|        }
  441|      0|        {
  442|   205k|            T zero, one, three, four;
  443|   205k|            zero = 0;
  444|   205k|            one = 1;
  445|   205k|            three = 3;
  446|   205k|            four = 4;
  447|   205k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   205k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   205k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   205k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|   205k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   205k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   205k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   205k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   205k|        }
  457|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUImEEvv:
  373|   205k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   205k|        static_assert(upx_is_integral<U>::value);
  376|   205k|        static_assert(upx_is_integral_v<U>);
  377|   205k|#if __cplusplus <= 201703L
  378|   205k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   205k|#endif
  380|   205k|        static_assert(std::is_standard_layout<U>::value);
  381|   205k|#if __cplusplus <= 202302L
  382|   205k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   205k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   205k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   205k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   205k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   205k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   205k|        {
  390|   205k|            U a = {};
  391|   205k|            const U b = {};
  392|   205k|            constexpr U c = {};
  393|   205k|            U x[2] = {};
  394|   205k|            const U y[2] = {};
  395|   205k|            constexpr U z[2] = {};
  396|   205k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   205k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   205k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   205k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   205k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   205k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   205k|#if defined(upx_is_constant_evaluated)
  403|   205k|            static_assert(c == 0);
  404|   205k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   205k|#endif
  406|   205k|        }
  407|      0|        {
  408|   205k|            TestU<U> t;
  409|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   205k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   205k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   205k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   205k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   205k|        }
  416|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUIKmEEvv:
  373|   205k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|   205k|        static_assert(upx_is_integral<U>::value);
  376|   205k|        static_assert(upx_is_integral_v<U>);
  377|   205k|#if __cplusplus <= 201703L
  378|   205k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|   205k|#endif
  380|   205k|        static_assert(std::is_standard_layout<U>::value);
  381|   205k|#if __cplusplus <= 202302L
  382|   205k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|   205k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|   205k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|   205k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|   205k|        static_assert(std::is_trivially_copyable<U>::value);
  388|   205k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|   205k|        {
  390|   205k|            U a = {};
  391|   205k|            const U b = {};
  392|   205k|            constexpr U c = {};
  393|   205k|            U x[2] = {};
  394|   205k|            const U y[2] = {};
  395|   205k|            constexpr U z[2] = {};
  396|   205k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   205k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|   205k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   205k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   205k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|   205k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|   205k|#if defined(upx_is_constant_evaluated)
  403|   205k|            static_assert(c == 0);
  404|   205k|            static_assert(z[0] == 0 && z[1] == 0);
  405|   205k|#endif
  406|   205k|        }
  407|      0|        {
  408|   205k|            TestU<U> t;
  409|   205k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   205k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   205k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|   205k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|   205k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 205k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   205k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|   205k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   410k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 205k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   205k|        }
  416|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE5checkEv:
  458|  88.0k|    static noinline void check() noexcept {
  459|  88.0k|        check_core();
  460|  88.0k|        {
  461|  88.0k|            T zero, one, three, four;
  462|  88.0k|            zero = 0;
  463|  88.0k|            one = 1;
  464|  88.0k|            three = 3;
  465|  88.0k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  88.0k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  88.0k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  88.0k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  88.0k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  88.0k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  88.0k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  88.0k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  88.0k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  88.0k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  88.0k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  88.0k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  88.0k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  88.0k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  88.0k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  88.0k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  88.0k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  88.0k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  88.0k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  88.0k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  88.0k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  88.0k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  88.0k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  88.0k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  88.0k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  88.0k|        }
  493|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE10check_coreEv:
  417|  88.0k|    static noinline void check_core() noexcept {
  418|  88.0k|        checkU<T>();
  419|  88.0k|        checkU<typename std::add_const<T>::type>();
  420|  88.0k|        {
  421|  88.0k|            TestT t = {};
  422|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  88.0k|        }
  425|      0|        {
  426|  88.0k|            const TestT t = {};
  427|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  88.0k|        }
  430|  88.0k|        {
  431|  88.0k|            constexpr TestT t = {};
  432|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  88.0k|        }
  435|  88.0k|        {
  436|  88.0k|            TestT t;
  437|  88.0k|            mem_clear(&t);
  438|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  88.0k|        }
  441|      0|        {
  442|  88.0k|            T zero, one, three, four;
  443|  88.0k|            zero = 0;
  444|  88.0k|            one = 1;
  445|  88.0k|            three = 3;
  446|  88.0k|            four = 4;
  447|  88.0k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  88.0k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  88.0k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  88.0k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  88.0k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  88.0k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  88.0k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  88.0k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  88.0k|        }
  457|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIxEEvv:
  373|  88.0k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  88.0k|        static_assert(upx_is_integral<U>::value);
  376|  88.0k|        static_assert(upx_is_integral_v<U>);
  377|  88.0k|#if __cplusplus <= 201703L
  378|  88.0k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  88.0k|#endif
  380|  88.0k|        static_assert(std::is_standard_layout<U>::value);
  381|  88.0k|#if __cplusplus <= 202302L
  382|  88.0k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  88.0k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  88.0k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  88.0k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  88.0k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  88.0k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  88.0k|        {
  390|  88.0k|            U a = {};
  391|  88.0k|            const U b = {};
  392|  88.0k|            constexpr U c = {};
  393|  88.0k|            U x[2] = {};
  394|  88.0k|            const U y[2] = {};
  395|  88.0k|            constexpr U z[2] = {};
  396|  88.0k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  88.0k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  88.0k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  88.0k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  88.0k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  88.0k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  88.0k|#if defined(upx_is_constant_evaluated)
  403|  88.0k|            static_assert(c == 0);
  404|  88.0k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  88.0k|#endif
  406|  88.0k|        }
  407|      0|        {
  408|  88.0k|            TestU<U> t;
  409|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  88.0k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  88.0k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  88.0k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  88.0k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  88.0k|        }
  416|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIKxEEvv:
  373|  88.0k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  88.0k|        static_assert(upx_is_integral<U>::value);
  376|  88.0k|        static_assert(upx_is_integral_v<U>);
  377|  88.0k|#if __cplusplus <= 201703L
  378|  88.0k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  88.0k|#endif
  380|  88.0k|        static_assert(std::is_standard_layout<U>::value);
  381|  88.0k|#if __cplusplus <= 202302L
  382|  88.0k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  88.0k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  88.0k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  88.0k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  88.0k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  88.0k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  88.0k|        {
  390|  88.0k|            U a = {};
  391|  88.0k|            const U b = {};
  392|  88.0k|            constexpr U c = {};
  393|  88.0k|            U x[2] = {};
  394|  88.0k|            const U y[2] = {};
  395|  88.0k|            constexpr U z[2] = {};
  396|  88.0k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  88.0k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  88.0k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  88.0k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  88.0k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  88.0k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  88.0k|#if defined(upx_is_constant_evaluated)
  403|  88.0k|            static_assert(c == 0);
  404|  88.0k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  88.0k|#endif
  406|  88.0k|        }
  407|      0|        {
  408|  88.0k|            TestU<U> t;
  409|  88.0k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  88.0k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  88.0k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  88.0k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  88.0k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  88.0k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  88.0k|        }
  416|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIyEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIKyEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUInEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUIKnEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE5checkEv:
  458|  58.7k|    static noinline void check() noexcept {
  459|  58.7k|        check_core();
  460|  58.7k|        {
  461|  58.7k|            T zero, one, three, four;
  462|  58.7k|            zero = 0;
  463|  58.7k|            one = 1;
  464|  58.7k|            three = 3;
  465|  58.7k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  58.7k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  58.7k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  58.7k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  58.7k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  58.7k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  58.7k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  58.7k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  58.7k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  58.7k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  58.7k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  58.7k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  58.7k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  58.7k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  58.7k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  58.7k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  58.7k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  58.7k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  58.7k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  58.7k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  58.7k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  58.7k|        }
  493|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE10check_coreEv:
  417|  58.7k|    static noinline void check_core() noexcept {
  418|  58.7k|        checkU<T>();
  419|  58.7k|        checkU<typename std::add_const<T>::type>();
  420|  58.7k|        {
  421|  58.7k|            TestT t = {};
  422|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  58.7k|        }
  425|      0|        {
  426|  58.7k|            const TestT t = {};
  427|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  58.7k|        }
  430|  58.7k|        {
  431|  58.7k|            constexpr TestT t = {};
  432|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  58.7k|        }
  435|  58.7k|        {
  436|  58.7k|            TestT t;
  437|  58.7k|            mem_clear(&t);
  438|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  58.7k|        }
  441|      0|        {
  442|  58.7k|            T zero, one, three, four;
  443|  58.7k|            zero = 0;
  444|  58.7k|            one = 1;
  445|  58.7k|            three = 3;
  446|  58.7k|            four = 4;
  447|  58.7k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  58.7k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  58.7k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  58.7k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  58.7k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  58.7k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  58.7k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  58.7k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  58.7k|        }
  457|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIoEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIKoEEvv:
  373|  58.7k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  58.7k|        static_assert(upx_is_integral<U>::value);
  376|  58.7k|        static_assert(upx_is_integral_v<U>);
  377|  58.7k|#if __cplusplus <= 201703L
  378|  58.7k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  58.7k|#endif
  380|  58.7k|        static_assert(std::is_standard_layout<U>::value);
  381|  58.7k|#if __cplusplus <= 202302L
  382|  58.7k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  58.7k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  58.7k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  58.7k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  58.7k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  58.7k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  58.7k|        {
  390|  58.7k|            U a = {};
  391|  58.7k|            const U b = {};
  392|  58.7k|            constexpr U c = {};
  393|  58.7k|            U x[2] = {};
  394|  58.7k|            const U y[2] = {};
  395|  58.7k|            constexpr U z[2] = {};
  396|  58.7k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  58.7k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  58.7k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  58.7k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  58.7k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  58.7k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  58.7k|#if defined(upx_is_constant_evaluated)
  403|  58.7k|            static_assert(c == 0);
  404|  58.7k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  58.7k|#endif
  406|  58.7k|        }
  407|      0|        {
  408|  58.7k|            TestU<U> t;
  409|  58.7k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  58.7k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  58.7k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  58.7k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  58.7k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 58.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  58.7k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  58.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 58.7k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  58.7k|        }
  416|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE5checkEv:
  715|  29.3k|    static noinline void check() noexcept {
  716|  29.3k|        checkU<T, T_is_signed>();
  717|  29.3k|        using signed_type = std::make_signed_t<T>;
  718|  29.3k|        checkU<signed_type, true>();
  719|  29.3k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  29.3k|        checkU<unsigned_type, false>();
  721|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIcLb0EEEvv:
  705|  29.3k|    static inline void checkU() noexcept {
  706|  29.3k|        static_assert(std::is_integral_v<U>);
  707|  29.3k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  29.3k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  29.3k|        static_assert(sizeof(U) == sizeof(T));
  710|  29.3k|        static_assert(alignof(U) == alignof(T));
  711|  29.3k|        constexpr U all_bits = U(U(0) - U(1));
  712|  29.3k|        static_assert(all_bits == U(~U(0)));
  713|  29.3k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIaLb1EEEvv:
  705|  29.3k|    static inline void checkU() noexcept {
  706|  29.3k|        static_assert(std::is_integral_v<U>);
  707|  29.3k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  29.3k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  29.3k|        static_assert(sizeof(U) == sizeof(T));
  710|  29.3k|        static_assert(alignof(U) == alignof(T));
  711|  29.3k|        constexpr U all_bits = U(U(0) - U(1));
  712|  29.3k|        static_assert(all_bits == U(~U(0)));
  713|  29.3k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIhLb0EEEvv:
  705|  29.3k|    static inline void checkU() noexcept {
  706|  29.3k|        static_assert(std::is_integral_v<U>);
  707|  29.3k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  29.3k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  29.3k|        static_assert(sizeof(U) == sizeof(T));
  710|  29.3k|        static_assert(alignof(U) == alignof(T));
  711|  29.3k|        constexpr U all_bits = U(U(0) - U(1));
  712|  29.3k|        static_assert(all_bits == U(~U(0)));
  713|  29.3k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIaLb1EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIhLb0EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIhLb0EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIaLb1EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUIsLb1EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUItLb0EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUItLb0EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUIsLb1EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIiLb1EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIjLb0EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIjLb0EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIiLb1EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE5checkEv:
  715|   176k|    static noinline void check() noexcept {
  716|   176k|        checkU<T, T_is_signed>();
  717|   176k|        using signed_type = std::make_signed_t<T>;
  718|   176k|        checkU<signed_type, true>();
  719|   176k|        using unsigned_type = std::make_unsigned_t<T>;
  720|   176k|        checkU<unsigned_type, false>();
  721|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUIlLb1EEEvv:
  705|   352k|    static inline void checkU() noexcept {
  706|   352k|        static_assert(std::is_integral_v<U>);
  707|   352k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   352k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   352k|        static_assert(sizeof(U) == sizeof(T));
  710|   352k|        static_assert(alignof(U) == alignof(T));
  711|   352k|        constexpr U all_bits = U(U(0) - U(1));
  712|   352k|        static_assert(all_bits == U(~U(0)));
  713|   352k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   352k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUImLb0EEEvv:
  705|   176k|    static inline void checkU() noexcept {
  706|   176k|        static_assert(std::is_integral_v<U>);
  707|   176k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   176k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   176k|        static_assert(sizeof(U) == sizeof(T));
  710|   176k|        static_assert(alignof(U) == alignof(T));
  711|   176k|        constexpr U all_bits = U(U(0) - U(1));
  712|   176k|        static_assert(all_bits == U(~U(0)));
  713|   176k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE5checkEv:
  715|   205k|    static noinline void check() noexcept {
  716|   205k|        checkU<T, T_is_signed>();
  717|   205k|        using signed_type = std::make_signed_t<T>;
  718|   205k|        checkU<signed_type, true>();
  719|   205k|        using unsigned_type = std::make_unsigned_t<T>;
  720|   205k|        checkU<unsigned_type, false>();
  721|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUImLb0EEEvv:
  705|   410k|    static inline void checkU() noexcept {
  706|   410k|        static_assert(std::is_integral_v<U>);
  707|   410k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   410k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   410k|        static_assert(sizeof(U) == sizeof(T));
  710|   410k|        static_assert(alignof(U) == alignof(T));
  711|   410k|        constexpr U all_bits = U(U(0) - U(1));
  712|   410k|        static_assert(all_bits == U(~U(0)));
  713|   410k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   410k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUIlLb1EEEvv:
  705|   205k|    static inline void checkU() noexcept {
  706|   205k|        static_assert(std::is_integral_v<U>);
  707|   205k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   205k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   205k|        static_assert(sizeof(U) == sizeof(T));
  710|   205k|        static_assert(alignof(U) == alignof(T));
  711|   205k|        constexpr U all_bits = U(U(0) - U(1));
  712|   205k|        static_assert(all_bits == U(~U(0)));
  713|   205k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   205k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE5checkEv:
  715|  88.0k|    static noinline void check() noexcept {
  716|  88.0k|        checkU<T, T_is_signed>();
  717|  88.0k|        using signed_type = std::make_signed_t<T>;
  718|  88.0k|        checkU<signed_type, true>();
  719|  88.0k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  88.0k|        checkU<unsigned_type, false>();
  721|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIxLb1EEEvv:
  705|   176k|    static inline void checkU() noexcept {
  706|   176k|        static_assert(std::is_integral_v<U>);
  707|   176k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   176k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   176k|        static_assert(sizeof(U) == sizeof(T));
  710|   176k|        static_assert(alignof(U) == alignof(T));
  711|   176k|        constexpr U all_bits = U(U(0) - U(1));
  712|   176k|        static_assert(all_bits == U(~U(0)));
  713|   176k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   176k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIyLb0EEEvv:
  705|  88.0k|    static inline void checkU() noexcept {
  706|  88.0k|        static_assert(std::is_integral_v<U>);
  707|  88.0k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  88.0k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  88.0k|        static_assert(sizeof(U) == sizeof(T));
  710|  88.0k|        static_assert(alignof(U) == alignof(T));
  711|  88.0k|        constexpr U all_bits = U(U(0) - U(1));
  712|  88.0k|        static_assert(all_bits == U(~U(0)));
  713|  88.0k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  88.0k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIyLb0EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIxLb1EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUInLb1EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUIoLb0EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE5checkEv:
  715|  58.7k|    static noinline void check() noexcept {
  716|  58.7k|        checkU<T, T_is_signed>();
  717|  58.7k|        using signed_type = std::make_signed_t<T>;
  718|  58.7k|        checkU<signed_type, true>();
  719|  58.7k|        using unsigned_type = std::make_unsigned_t<T>;
  720|  58.7k|        checkU<unsigned_type, false>();
  721|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUIoLb0EEEvv:
  705|   117k|    static inline void checkU() noexcept {
  706|   117k|        static_assert(std::is_integral_v<U>);
  707|   117k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|   117k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|   117k|        static_assert(sizeof(U) == sizeof(T));
  710|   117k|        static_assert(alignof(U) == alignof(T));
  711|   117k|        constexpr U all_bits = U(U(0) - U(1));
  712|   117k|        static_assert(all_bits == U(~U(0)));
  713|   117k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|   117k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUInLb1EEEvv:
  705|  58.7k|    static inline void checkU() noexcept {
  706|  58.7k|        static_assert(std::is_integral_v<U>);
  707|  58.7k|        static_assert(std::is_signed_v<U> == U_is_signed);
  708|  58.7k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  709|  58.7k|        static_assert(sizeof(U) == sizeof(T));
  710|  58.7k|        static_assert(alignof(U) == alignof(T));
  711|  58.7k|        constexpr U all_bits = U(U(0) - U(1));
  712|  58.7k|        static_assert(all_bits == U(~U(0)));
  713|  58.7k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  714|  58.7k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIahE5checkEv:
  738|  58.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIstE5checkEv:
  738|  58.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIijE5checkEv:
  738|  58.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIlmE5checkEv:
  738|   205k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIxyE5checkEv:
  738|  58.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairInoE5checkEv:
  738|  58.7k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE16E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE16E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE32E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE32E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE64E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE64E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE16E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE16E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE32E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE32E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE64E4testEv:
  526|  29.3k|    static noinline bool test() noexcept {
  527|  29.3k|        CheckIntegral<T>::check();
  528|  29.3k|        CheckAlignment<T>::check();
  529|       |        // arithmetic checks
  530|  29.3k|        {
  531|  29.3k|            T all_bits = {}; // == zero
  532|  29.3k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|            all_bits += 1;
  535|  29.3k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|      0|            all_bits -= 2;
  537|  29.3k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|      0|            T v1;
  539|  29.3k|            v1 = 1;
  540|  29.3k|            v1 *= 4;
  541|  29.3k|            v1 /= 2;
  542|  29.3k|            v1 -= 1;
  543|  29.3k|            T v2;
  544|  29.3k|            v2 = 1;
  545|  29.3k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  29.3k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  29.3k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  29.3k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|      0|            v2 ^= all_bits;
  552|  29.3k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.3k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  29.3k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  29.3k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  29.3k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  29.3k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|      0|            v2 += 2;
  559|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|      0|            v1 <<= 1;
  562|  29.3k|            v1 |= v2;
  563|  29.3k|            v1 >>= 1;
  564|  29.3k|            v2 &= v1;
  565|  29.3k|            v2 /= v1;
  566|  29.3k|            v2 *= v1;
  567|  29.3k|            v1 += v2;
  568|  29.3k|            v1 -= v2;
  569|  29.3k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.3k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.3k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (571:17): [True: 0, False: 29.3k]
  ------------------
  572|      0|                return false;
  573|  29.3k|        }
  574|       |        // min/max
  575|  29.3k|        {
  576|  29.3k|            constexpr T a = {}; // == zero
  577|  29.3k|            typedef typename T::integral_conversion_type U;
  578|  29.3k|            constexpr U b = 1;
  579|  29.3k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  29.3k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  29.3k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  29.3k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.3k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.3k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.3k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.3k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.3k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.3k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.3k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.3k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.3k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.3k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.3k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.3k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.3k|            T minus_one_t = {}, minus_two_t = {};
  596|  29.3k|            minus_one_t -= 1;
  597|  29.3k|            minus_two_t -= 2;
  598|  29.3k|            const U minus_one_u = minus_one_t;
  599|  29.3k|            const U minus_two_u = minus_two_t;
  600|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.3k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.3k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.3k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.3k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  619|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  621|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  622|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  623|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  626|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  627|  29.3k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  628|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  629|  29.3k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  630|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  631|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  632|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  633|  29.3k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  634|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  635|  29.3k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  636|  29.3k|        }
  637|       |        // constexpr
  638|      0|        {
  639|  29.3k|            constexpr T zero = {};
  640|  29.3k|            constexpr T zero_copy = T::make(zero);
  641|  29.3k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  642|  29.3k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  643|      0|#if defined(upx_is_constant_evaluated)
  644|      0|            static_assert(zero_copy == 0);
  645|  29.3k|            static_assert(zero_copy == zero);
  646|  29.3k|            static_assert(!upx::has_single_bit(zero));
  647|  29.3k|            static_assert(!upx::has_single_bit(zero_copy));
  648|  29.3k|#endif
  649|  29.3k|        }
  650|      0|#if defined(upx_is_constant_evaluated)
  651|      0|        {
  652|  29.3k|            typedef typename T::integral_conversion_type U;
  653|  29.3k|            constexpr T one = T::make(1);
  654|  29.3k|            static_assert(one == 1);
  655|  29.3k|            static_assert(upx::has_single_bit(one));
  656|  29.3k|            constexpr T four = T::make(one + 3);
  657|  29.3k|            static_assert(four == 4);
  658|  29.3k|            static_assert(upx::has_single_bit(four));
  659|  29.3k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  660|  29.3k|            constexpr T all_bits = T::make(all_bits_u);
  661|  29.3k|            static_assert(all_bits == all_bits_u);
  662|  29.3k|            static_assert(all_bits == T::make(one - 2));
  663|  29.3k|            static_assert(!upx::has_single_bit(all_bits));
  664|  29.3k|            static_assert(one == one);
  665|  29.3k|            static_assert(!(one == four));
  666|  29.3k|            static_assert(!(one == all_bits));
  667|  29.3k|            static_assert(one < four);
  668|  29.3k|            static_assert(one < all_bits);
  669|  29.3k|            static_assert(upx::min(one, four) == 1);
  670|  29.3k|            static_assert(upx::min(one, four) == one);
  671|  29.3k|            static_assert(upx::min(U(1), four) == 1);
  672|  29.3k|            static_assert(upx::min(one, U(4)) == 1);
  673|  29.3k|            static_assert(upx::max(one, four) == 4);
  674|  29.3k|            static_assert(upx::max(one, four) == four);
  675|  29.3k|            static_assert(upx::max(U(1), four) == 4);
  676|  29.3k|            static_assert(upx::max(one, U(4)) == 4);
  677|  29.3k|            static_assert(upx::align_down(one, four) == 0);
  678|  29.3k|            static_assert(upx::align_up(one, four) == 4);
  679|  29.3k|            static_assert(upx::align_up(one, four) == four);
  680|  29.3k|            static_assert(upx::align_up_gap(one, four) == 3);
  681|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  682|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  683|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  684|  29.3k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  685|  29.3k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  686|  29.3k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  687|  29.3k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  688|  29.3k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  689|  29.3k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  690|  29.3k|            constexpr T one_copy = T::make(one);
  691|  29.3k|            static_assert(one_copy == one);
  692|  29.3k|            static_assert(one_copy == 1);
  693|  29.3k|        }
  694|  29.3k|#endif
  695|  29.3k|        return true;
  696|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E5checkEv:
  458|  29.3k|    static noinline void check() noexcept {
  459|  29.3k|        check_core();
  460|  29.3k|        {
  461|  29.3k|            T zero, one, three, four;
  462|  29.3k|            zero = 0;
  463|  29.3k|            one = 1;
  464|  29.3k|            three = 3;
  465|  29.3k|            four = 4;
  466|       |            // align - needs binary expressions which do not work
  467|       |            //   on CHERI uintptr_t because of pointer provenance
  468|  29.3k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.3k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.3k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.3k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.3k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.3k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.3k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  475|  29.3k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  476|  29.3k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|  29.3k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  478|  29.3k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|  29.3k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  480|  29.3k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  29.3k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  482|  29.3k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  483|  29.3k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  484|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  485|  29.3k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  486|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|  29.3k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  488|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  489|  29.3k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  490|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|  29.3k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  492|  29.3k|        }
  493|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E10check_coreEv:
  417|  29.3k|    static noinline void check_core() noexcept {
  418|  29.3k|        checkU<T>();
  419|  29.3k|        checkU<typename std::add_const<T>::type>();
  420|  29.3k|        {
  421|  29.3k|            TestT t = {};
  422|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  423|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  424|  29.3k|        }
  425|      0|        {
  426|  29.3k|            const TestT t = {};
  427|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  429|  29.3k|        }
  430|      0|        {
  431|  29.3k|            constexpr TestT t = {};
  432|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|  29.3k|        }
  435|      0|        {
  436|  29.3k|            TestT t;
  437|  29.3k|            mem_clear(&t);
  438|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  29.3k|        }
  441|      0|        {
  442|  29.3k|            T zero, one, three, four;
  443|  29.3k|            zero = 0;
  444|  29.3k|            one = 1;
  445|  29.3k|            three = 3;
  446|  29.3k|            four = 4;
  447|  29.3k|            assert_noexcept(zero == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  29.3k|            assert_noexcept(one == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  29.3k|            assert_noexcept(three == 3);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  29.3k|            assert_noexcept(four == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|       |            // min / max
  452|  29.3k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.3k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.3k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.3k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.3k|        }
  457|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIKS1_EEvv:
  373|  29.3k|    static noinline void checkU() noexcept {
  374|       |        // UPX extras
  375|  29.3k|        static_assert(upx_is_integral<U>::value);
  376|  29.3k|        static_assert(upx_is_integral_v<U>);
  377|  29.3k|#if __cplusplus <= 201703L
  378|  29.3k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  379|  29.3k|#endif
  380|  29.3k|        static_assert(std::is_standard_layout<U>::value);
  381|  29.3k|#if __cplusplus <= 202302L
  382|  29.3k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  383|  29.3k|#endif
  384|       |        // more checks, these are probably implied by std::is_trivial
  385|  29.3k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  386|  29.3k|        static_assert(std::is_nothrow_destructible<U>::value);
  387|  29.3k|        static_assert(std::is_trivially_copyable<U>::value);
  388|  29.3k|        static_assert(std::is_trivially_default_constructible<U>::value);
  389|  29.3k|        {
  390|  29.3k|            U a = {};
  391|  29.3k|            const U b = {};
  392|  29.3k|            constexpr U c = {};
  393|  29.3k|            U x[2] = {};
  394|  29.3k|            const U y[2] = {};
  395|  29.3k|            constexpr U z[2] = {};
  396|  29.3k|            assert_noexcept(a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.3k|            assert_noexcept(b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  29.3k|            assert_noexcept(c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  29.3k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  29.3k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  29.3k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|      0|#if defined(upx_is_constant_evaluated)
  403|      0|            static_assert(c == 0);
  404|  29.3k|            static_assert(z[0] == 0 && z[1] == 0);
  405|  29.3k|#endif
  406|  29.3k|        }
  407|      0|        {
  408|  29.3k|            TestU<U> t;
  409|  29.3k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.3k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.3k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|  29.3k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  29.3k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  29.3k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.3k|        }
  416|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE64E5checkEv:
  498|  29.3k|    static noinline void check() noexcept {
  499|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  500|  29.3k|        struct alignas(1) Test1 final {
  501|  29.3k|            char a;
  502|  29.3k|            T b;
  503|  29.3k|        };
  504|  29.3k|        struct alignas(1) Test2 final {
  505|  29.3k|            char a;
  506|  29.3k|            T b[3];
  507|  29.3k|        };
  508|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  29.3k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  465|  29.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  29.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  29.3k|    {                                                                                              \
  |  |  |  |  |  |  448|  29.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  29.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  29.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  29.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  29.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  29.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  29.3k|        };                                                                                         \
  |  |  |  |  |  |  455|  29.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  29.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  29.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  29.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  29.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  29.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  29.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  29.3k|        Test1 t1[7];
  511|  29.3k|        Test2 t2[7];
  512|  29.3k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  513|  29.3k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  514|  29.3k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  515|  29.3k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  516|  29.3k|        UNUSED(t1);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  517|  29.3k|        UNUSED(t2);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  518|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4BE32EEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4BE32E4testEPsPS1_:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4LE32EEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4LE32E4testEPsPS1_:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4BE64EEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4BE64E4testEPiPS1_:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4LE64EEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4LE64E4testEPiPS1_:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIsiEEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIsiE4testEPsPi:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIilEEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIilE4testEPiPl:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIixEEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIixE4testEPiPx:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIlxEEbPT_PT0_:
  751|  29.3k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  752|  29.3k|    return TestNoAliasingStruct<A, B>::test(a, b);
  753|  29.3k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIlxE4testEPlPx:
  743|  29.3k|    static noinline bool test(A *a, B *b) noexcept {
  744|  29.3k|        *a = 0;
  745|  29.3k|        *b = 0;
  746|  29.3k|        *b -= 3;
  747|  29.3k|        return *a != 0;
  748|  29.3k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6inc_gtEj:
  757|  58.7k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6dec_ltEj:
  758|  58.7k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6neg_eqEj:
  759|  88.0k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6inc_gtEi:
  757|  58.7k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6dec_ltEi:
  758|  58.7k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6neg_eqEi:
  759|   117k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }

dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   43|  14.6k|TEST_CASE("std::vector") {
   44|  14.6k|    constexpr size_t N = 16;
   45|  14.6k|    std::vector<int> v(N);
   46|  14.6k|    CHECK(v.end() - v.begin() == N);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   47|  14.6k|    CHECK(&v[0] == &(*(v.begin())));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   48|       |    // CHECK(&v[0] + N == &(*(v.end()))); // TODO later: is this legal??
   49|       |#if defined(_LIBCPP_HARDENING_MODE) && defined(_LIBCPP_HARDENING_MODE_DEBUG) &&                    \
   50|       |    (_LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG)
   51|       |    // unfortunately this does NOT throw but ABORTS
   52|       |    ////CHECK_THROWS((void) &v[N]);
   53|       |#endif
   54|  14.6k|    UNUSED(v);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   55|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_119DOCTEST_ANON_FUNC_4Ev:
   94|  14.6k|TEST_CASE("UPX_CXX_DISABLE_xxx") {
   95|  14.6k|    MyType1<char, int, 1> dummy1;
   96|  14.6k|    MyType2<char, int, 2> dummy2;
   97|  14.6k|    MyVType1<char, int, 1> vdummy1;
   98|  14.6k|    MyVType2<char, int, 2> vdummy2;
   99|  14.6k|    (void) dummy1;
  100|  14.6k|    (void) dummy2;
  101|  14.6k|    (void) vdummy1;
  102|  14.6k|    (void) vdummy2;
  103|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType1IciLi1EEC2Ev:
   64|  14.6k|    MyType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType2IciLi2EEC2Ev:
   71|  14.6k|    MyType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EEC2Ev:
   79|  14.6k|    MyVType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EEC2Ev:
   87|  14.6k|    MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EED2Ev:
   88|  14.6k|    virtual ~MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EED2Ev:
   80|  14.6k|    virtual ~MyVType1() noexcept {}
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  174|  14.6k|TEST_CASE("upx::noncopyable") {
  175|  14.6k|    struct Test : private upx::noncopyable {
  176|  14.6k|        int v = 1;
  177|  14.6k|    };
  178|  14.6k|    Test t = {};
  179|  14.6k|    CHECK(t.v == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  180|       |#if (ACC_CC_MSC) // MSVC thinks that Test is not std::is_trivially_copyable; true or compiler bug?
  181|       |    // @COMPILER_BUG @MSVC_BUG
  182|       |    t.v = 0;
  183|       |#else
  184|  14.6k|    mem_clear(&t);
  185|  14.6k|#endif
  186|  14.6k|    CHECK(t.v == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  187|  14.6k|    constexpr Test x = {};
  188|  14.6k|    static_assert(x.v == 1);
  189|  14.6k|}
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  381|  14.6k|TEST_CASE("upx::ptr_static_cast 1") {
  382|       |    // check that we do not trigger any -Wcast-align warnings
  383|  14.6k|    using upx::ptr_static_cast;
  384|       |
  385|  14.6k|    void *vp = nullptr;
  386|  14.6k|    byte *bp = nullptr;
  387|  14.6k|    int *ip = nullptr;
  388|  14.6k|    double *dp = nullptr;
  389|       |
  390|  14.6k|    assert((vp == ptr_static_cast<void *>(vp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  391|  14.6k|    assert((vp == ptr_static_cast<void *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  14.6k|    assert((vp == ptr_static_cast<void *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  14.6k|    assert((vp == ptr_static_cast<void *>(dp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|       |
  395|  14.6k|    assert((bp == ptr_static_cast<byte *>(vp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  14.6k|    assert((bp == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  14.6k|    assert((bp == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  398|  14.6k|    assert((bp == ptr_static_cast<byte *>(dp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|       |
  400|  14.6k|    assert((ip == ptr_static_cast<int *>(vp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  401|  14.6k|    assert((ip == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  402|  14.6k|    assert((ip == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  403|  14.6k|    assert((ip == ptr_static_cast<int *>(dp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  404|       |
  405|  14.6k|    assert((dp == ptr_static_cast<double *>(vp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  14.6k|    assert((dp == ptr_static_cast<double *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  407|  14.6k|    assert((dp == ptr_static_cast<double *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  408|  14.6k|    assert((dp == ptr_static_cast<double *>(dp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  409|       |
  410|      0|    const byte *bc = nullptr;
  411|  14.6k|    const int *ic = nullptr;
  412|  14.6k|    assert((bc == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  413|  14.6k|    assert((bc == ptr_static_cast<const byte *>(bc)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  14.6k|    assert((bc == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  14.6k|    assert((bc == ptr_static_cast<const byte *>(ic)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  14.6k|    assert((ic == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|  14.6k|    assert((ic == ptr_static_cast<const int *>(bc)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  418|  14.6k|    assert((ic == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  14.6k|    assert((ic == ptr_static_cast<const int *>(ic)));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  422|  14.6k|TEST_CASE("upx::ptr_static_cast 2") {
  423|  14.6k|    {
  424|  14.6k|        byte *n = nullptr;
  425|  14.6k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  426|  14.6k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  427|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  428|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  429|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  430|  14.6k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  431|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  432|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  433|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  434|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  435|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  436|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  437|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  438|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  439|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  440|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  441|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  442|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  443|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  444|  14.6k|    }
  445|  14.6k|    {
  446|  14.6k|        const int *n = nullptr;
  447|  14.6k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  448|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  449|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  450|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  451|       |        // assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  452|       |        // assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  453|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  454|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  455|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  456|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  457|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  458|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  459|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  460|  14.6k|    }
  461|  14.6k|    {
  462|  14.6k|        long **n = nullptr;
  463|  14.6k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  464|  14.6k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  465|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  466|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  467|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  468|  14.6k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  469|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  470|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  471|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  472|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  473|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  474|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  475|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  476|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  477|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  478|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  479|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  480|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  481|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  482|  14.6k|    }
  483|  14.6k|    {
  484|  14.6k|        long long *const **n = nullptr;
  485|  14.6k|        assert_noexcept2(n == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  486|  14.6k|        assert_noexcept2(upx::ptr_static_cast<void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  487|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const void *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  488|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  489|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  490|  14.6k|        assert_noexcept2(upx::ptr_static_cast<int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  491|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const int *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  492|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  493|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  494|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  495|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char ***>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  496|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  497|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  498|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  499|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  500|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  501|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char **const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  502|  14.6k|        assert_noexcept2(upx::ptr_static_cast<char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  503|  14.6k|        assert_noexcept2(upx::ptr_static_cast<const char *const *const *>(n) == nullptr);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
  504|  14.6k|    }
  505|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  507|  14.6k|TEST_CASE("upx::ptr_static_cast constexpr 1") {
  508|       |    // check that casts work at compile-time
  509|  14.6k|    using upx::ptr_static_cast;
  510|       |
  511|  14.6k|    constexpr void *vp = nullptr;
  512|  14.6k|    constexpr byte *bp = nullptr;
  513|  14.6k|    constexpr int *ip = nullptr;
  514|  14.6k|    constexpr double *dp = nullptr;
  515|  14.6k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  516|  14.6k|    static_assert((bp == ptr_static_cast<byte *>(bp)));
  517|  14.6k|    static_assert((ip == ptr_static_cast<int *>(ip)));
  518|  14.6k|    static_assert((dp == ptr_static_cast<double *>(dp)));
  519|       |
  520|  14.6k|    constexpr const void *vc = nullptr;
  521|  14.6k|    const constexpr byte *bc = nullptr;
  522|  14.6k|    constexpr const int *ic = nullptr;
  523|  14.6k|    constexpr const double *dc = nullptr;
  524|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  525|  14.6k|    static_assert((bc == ptr_static_cast<const byte *>(bc)));
  526|  14.6k|    static_assert((ic == ptr_static_cast<const int *>(ic)));
  527|  14.6k|    static_assert((dc == ptr_static_cast<const double *>(dc)));
  528|       |
  529|  14.6k|    constexpr void **vpp = nullptr;
  530|  14.6k|    constexpr byte **bpp = nullptr;
  531|  14.6k|    constexpr int **ipp = nullptr;
  532|  14.6k|    constexpr double **dpp = nullptr;
  533|  14.6k|    static_assert((vpp == ptr_static_cast<void **>(vpp)));
  534|  14.6k|    static_assert((bpp == ptr_static_cast<byte **>(bpp)));
  535|  14.6k|    static_assert((ipp == ptr_static_cast<int **>(ipp)));
  536|  14.6k|    static_assert((dpp == ptr_static_cast<double **>(dpp)));
  537|       |
  538|  14.6k|    constexpr const void **vcp = nullptr;
  539|  14.6k|    const constexpr byte **bcp = nullptr;
  540|  14.6k|    constexpr const int **icp = nullptr;
  541|  14.6k|    constexpr const double **dcp = nullptr;
  542|  14.6k|    static_assert((vcp == ptr_static_cast<const void **>(vcp)));
  543|  14.6k|    static_assert((bcp == ptr_static_cast<const byte **>(bcp)));
  544|  14.6k|    static_assert((icp == ptr_static_cast<const int **>(icp)));
  545|  14.6k|    static_assert((dcp == ptr_static_cast<const double **>(dcp)));
  546|       |
  547|  14.6k|    constexpr void *const *vpc = nullptr;
  548|  14.6k|    constexpr byte *const *bpc = nullptr;
  549|  14.6k|    constexpr int *const *ipc = nullptr;
  550|  14.6k|    constexpr double *const *dpc = nullptr;
  551|  14.6k|    static_assert((vpc == ptr_static_cast<void *const *>(vpc)));
  552|  14.6k|    static_assert((bpc == ptr_static_cast<byte *const *>(bpc)));
  553|  14.6k|    static_assert((ipc == ptr_static_cast<int *const *>(ipc)));
  554|  14.6k|    static_assert((dpc == ptr_static_cast<double *const *>(dpc)));
  555|       |
  556|  14.6k|    constexpr const void *const *vcc = nullptr;
  557|  14.6k|    const constexpr byte *const *bcc = nullptr;
  558|  14.6k|    constexpr const int *const *icc = nullptr;
  559|  14.6k|    constexpr const double *const *dcc = nullptr;
  560|  14.6k|    static_assert((vcc == ptr_static_cast<const void *const *>(vcc)));
  561|  14.6k|    static_assert((bcc == ptr_static_cast<const byte *const *>(bcc)));
  562|  14.6k|    static_assert((icc == ptr_static_cast<const int *const *>(icc)));
  563|  14.6k|    static_assert((dcc == ptr_static_cast<const double *const *>(dcc)));
  564|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
  566|  14.6k|TEST_CASE("upx::ptr_static_cast constexpr 2") {
  567|       |    // check that casts work at compile-time
  568|  14.6k|    using upx::ptr_static_cast;
  569|       |
  570|  14.6k|    constexpr void *vp = nullptr;
  571|  14.6k|    constexpr byte *bp = nullptr;
  572|  14.6k|    constexpr int *ip = nullptr;
  573|  14.6k|    constexpr double *dp = nullptr;
  574|  14.6k|    static_assert((vp == static_cast<void *>(vp)));
  575|  14.6k|    static_assert((vp == static_cast<void *>(bp)));
  576|  14.6k|    static_assert((vp == static_cast<void *>(ip)));
  577|  14.6k|    static_assert((vp == static_cast<void *>(dp)));
  578|  14.6k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  579|  14.6k|    static_assert((vp == ptr_static_cast<void *>(bp)));
  580|  14.6k|    static_assert((vp == ptr_static_cast<void *>(ip)));
  581|  14.6k|    static_assert((vp == ptr_static_cast<void *>(dp)));
  582|       |
  583|  14.6k|    constexpr const void *vc = nullptr;
  584|  14.6k|    const constexpr byte *bc = nullptr;
  585|  14.6k|    constexpr const int *ic = nullptr;
  586|  14.6k|    constexpr const double *dc = nullptr;
  587|  14.6k|    static_assert((vc == static_cast<const void *>(vp)));
  588|  14.6k|    static_assert((vc == static_cast<const void *>(bp)));
  589|  14.6k|    static_assert((vc == static_cast<const void *>(ip)));
  590|  14.6k|    static_assert((vc == static_cast<const void *>(dp)));
  591|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(vp)));
  592|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(dp)));
  593|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(bp)));
  594|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(ip)));
  595|  14.6k|    static_assert((vc == static_cast<const void *>(vc)));
  596|  14.6k|    static_assert((vc == static_cast<const void *>(bc)));
  597|  14.6k|    static_assert((vc == static_cast<const void *>(ic)));
  598|  14.6k|    static_assert((vc == static_cast<const void *>(dc)));
  599|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  600|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(dc)));
  601|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(bc)));
  602|  14.6k|    static_assert((vc == ptr_static_cast<const void *>(ic)));
  603|       |
  604|       |    // these are invalid:
  605|       |    //// constexpr char *cc1 = static_cast<char *>(bp);
  606|       |    //// constexpr char *cc2 = ptr_static_cast<char *>(bp);
  607|       |    //// constexpr unsigned *uc1 = static_cast<unsigned *>(ip);
  608|       |    //// constexpr unsigned *uc2 = ptr_static_cast<unsigned *>(ip);
  609|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
  632|  14.6k|TEST_CASE("upx::atomic_exchange") {
  633|  14.6k|    {
  634|  14.6k|        upx_uintptr_t x = (upx_uintptr_t) 0 - 1;
  635|  14.6k|        upx_uintptr_t y = upx::atomic_exchange(&x, (upx_uintptr_t) 2);
  636|  14.6k|        CHECK_EQ(x, 2);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  637|  14.6k|        CHECK_EQ(y, (upx_uintptr_t) 0 - 1);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  638|  14.6k|        UNUSED(y);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  639|  14.6k|    }
  640|  14.6k|    {
  641|  14.6k|        const int buf[2] = {101, 202};
  642|  14.6k|        const int *ptr_array[2] = {&buf[0], &buf[1]};
  643|  14.6k|        assert_noexcept(*ptr_array[0] == 101 && *ptr_array[1] == 202);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  644|      0|        const int *p = upx::atomic_exchange(&ptr_array[0], ptr_array[1]);
  645|  14.6k|        CHECK_EQ(p, buf + 0);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  646|  14.6k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 202);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  647|      0|        p = upx::atomic_exchange(&ptr_array[1], p);
  648|  14.6k|        CHECK_EQ(p, buf + 1);
  ------------------
  |  | 3016|  14.6k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.6k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.6k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.6k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.6k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  649|  14.6k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 101);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  650|  14.6k|        UNUSED(p);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  651|  14.6k|    }
  652|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
  654|  14.6k|TEST_CASE("upx::ObjectDeleter 1") {
  655|  14.6k|    LE16 *o = nullptr; // object
  656|  14.6k|    LE32 *a = nullptr; // array
  657|  14.6k|    LE64 *m = nullptr; // malloc
  658|  14.6k|    {
  659|       |        // auto o_deleter = upx::ObjectDeleter(&o, 1);
  660|  14.6k|        upx::ObjectDeleter<LE16> o_deleter = upx::ObjectDeleter(&o, 1);
  661|  14.6k|        o = new LE16;
  662|  14.6k|        assert(o != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  663|      0|        auto a_deleter = upx::ArrayDeleter(&a, 1);
  664|  14.6k|        a = New(LE32, 1);
  ------------------
  |  |  101|  14.6k|#define New(type, n) (NewT<type>((n)))
  ------------------
  665|  14.6k|        assert(a != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  666|      0|        auto m_deleter = upx::MallocDeleter(&m, 1);
  667|  14.6k|        m = (LE64 *) ::malloc(sizeof(LE64));
  668|  14.6k|        assert(m != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  669|  14.6k|    }
  670|  14.6k|    assert(o == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  671|  14.6k|    assert(a == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  672|  14.6k|    assert(m == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  673|       |    // test "const" versions
  674|      0|    {
  675|  14.6k|        const auto o_deleter = upx::ObjectDeleter(&o, 1);
  676|  14.6k|        o = new LE16;
  677|  14.6k|        assert(o != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  678|      0|        const auto a_deleter = upx::ArrayDeleter(&a, 1);
  679|  14.6k|        a = New(LE32, 1);
  ------------------
  |  |  101|  14.6k|#define New(type, n) (NewT<type>((n)))
  ------------------
  680|  14.6k|        assert(a != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  681|      0|        const auto m_deleter = upx::MallocDeleter(&m, 1);
  682|  14.6k|        m = (LE64 *) ::malloc(sizeof(LE64));
  683|  14.6k|        assert(m != nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  684|  14.6k|    }
  685|  14.6k|    assert(o == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  686|  14.6k|    assert(a == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  687|  14.6k|    assert(m == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  688|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_20v:
  690|  14.6k|TEST_CASE("upx::ObjectDeleter 2") {
  691|  14.6k|    constexpr size_t N = 2;
  692|  14.6k|    BE16 *o[N]; // multiple objects
  693|  14.6k|    BE32 *a[N]; // multiple arrays
  694|  14.6k|    BE64 *m[N]; // multiple mallocs
  695|  14.6k|    {
  696|       |        // auto o_deleter = upx::ObjectDeleter(o, 0);
  697|  14.6k|        upx::ObjectDeleter<BE16> o_deleter = upx::ObjectDeleter(o, 0);
  698|  14.6k|        auto a_deleter = upx::ArrayDeleter(a, 0);
  699|  14.6k|        auto m_deleter = upx::MallocDeleter(m, 0);
  700|  44.0k|        for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (700:28): [True: 29.3k, False: 14.6k]
  ------------------
  701|  29.3k|            o[i] = new BE16;
  702|  29.3k|            assert(o[i] != nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  703|      0|            o_deleter.count += 1;
  704|  29.3k|            a[i] = New(BE32, 1 + i);
  ------------------
  |  |  101|  29.3k|#define New(type, n) (NewT<type>((n)))
  ------------------
  705|  29.3k|            assert(a[i] != nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  706|      0|            a_deleter.count += 1;
  707|  29.3k|            m[i] = (BE64 *) ::malloc(sizeof(BE64));
  708|  29.3k|            assert(m[i] != nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  709|      0|            m_deleter.count += 1;
  710|  29.3k|        }
  711|  14.6k|    }
  712|  44.0k|    for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (712:24): [True: 29.3k, False: 14.6k]
  ------------------
  713|  29.3k|        assert(o[i] == nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  714|  29.3k|        assert(a[i] == nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  715|  29.3k|        assert(m[i] == nullptr);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  716|  29.3k|    }
  717|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_22v:
 1565|  14.6k|TEST_CASE("upx::compile_time") {
 1566|  14.6k|    constexpr upx_uint16_t v16 = 0x0201;
 1567|  14.6k|    constexpr upx_uint32_t v24 = 0x030201;
 1568|  14.6k|    constexpr upx_uint32_t v32 = 0x04030201;
 1569|  14.6k|    constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1570|  14.6k|    {
 1571|  14.6k|        static_assert(upx::compile_time::bswap16(v16) == 0x0102);
 1572|  14.6k|        static_assert(upx::compile_time::bswap32(v32) == 0x01020304);
 1573|  14.6k|        static_assert(upx::compile_time::bswap64(v64) == 0x0102030405060708ull);
 1574|  14.6k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0x0102);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1575|  14.6k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0x01020304);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1576|  14.6k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0x0102030405060708ull);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1577|  14.6k|    }
 1578|      0|    {
 1579|  14.6k|        const constexpr byte d[8] = {1, 2, 3, 4, 5, 6, 7, 8};
 1580|  14.6k|        static_assert(upx::compile_time::get_be16(d) == 0x0102);
 1581|  14.6k|        static_assert(upx::compile_time::get_be24(d) == 0x010203);
 1582|  14.6k|        static_assert(upx::compile_time::get_be32(d) == 0x01020304);
 1583|  14.6k|        static_assert(upx::compile_time::get_be64(d) == 0x0102030405060708ull);
 1584|  14.6k|        static_assert(upx::compile_time::get_le16(d) == 0x0201);
 1585|  14.6k|        static_assert(upx::compile_time::get_le24(d) == 0x030201);
 1586|  14.6k|        static_assert(upx::compile_time::get_le32(d) == 0x04030201);
 1587|  14.6k|        static_assert(upx::compile_time::get_le64(d) == 0x0807060504030201ull);
 1588|  14.6k|    }
 1589|  14.6k|    {
 1590|  14.6k|        using upx::compile_time::mem_eq;
 1591|  14.6k|        upx_alignas_max byte aligned_buffer[16] = {};
  ------------------
  |  |  166|  14.6k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1592|  14.6k|        upx::compile_time::mem_set(aligned_buffer, 0xff, 16);
 1593|  14.6k|        assert_noexcept(mem_eq(aligned_buffer, aligned_buffer + 8, 8));
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1594|      0|        byte *const buf = aligned_buffer + 7;
 1595|       |
 1596|  14.6k|        constexpr auto be16 = TestCT::makeBE16(v16);
 1597|  14.6k|        static_assert(upx::compile_time::get_be16(be16.d) == v16);
 1598|  14.6k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1599|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1600|  14.6k|        TestCT::noinline_set_be16(buf, v16);
 1601|  14.6k|        assert_noexcept(TestCT::noinline_get_be16(buf) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1602|  14.6k|        assert_noexcept(upx::compile_time::get_be16(buf) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1603|  14.6k|        assert_noexcept(memcmp(buf, be16.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1604|       |
 1605|      0|        constexpr auto be24 = TestCT::makeBE24(v24);
 1606|  14.6k|        static_assert(upx::compile_time::get_be24(be24.d) == v24);
 1607|  14.6k|        static_assert(mem_eq(be24.d, "\x03\x02\x01", 3));
 1608|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1609|  14.6k|        TestCT::noinline_set_be24(buf, v24);
 1610|  14.6k|        assert_noexcept(TestCT::noinline_get_be24(buf) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1611|  14.6k|        assert_noexcept(upx::compile_time::get_be24(buf) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1612|  14.6k|        assert_noexcept(memcmp(buf, be24.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1613|       |
 1614|      0|        constexpr auto be32 = TestCT::makeBE32(v32);
 1615|  14.6k|        static_assert(upx::compile_time::get_be32(be32.d) == v32);
 1616|  14.6k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1617|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1618|  14.6k|        TestCT::noinline_set_be32(buf, v32);
 1619|  14.6k|        assert_noexcept(TestCT::noinline_get_be32(buf) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1620|  14.6k|        assert_noexcept(upx::compile_time::get_be32(buf) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1621|  14.6k|        assert_noexcept(memcmp(buf, be32.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1622|       |
 1623|      0|        constexpr auto be64 = TestCT::makeBE64(v64);
 1624|  14.6k|        static_assert(upx::compile_time::get_be64(be64.d) == v64);
 1625|  14.6k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1626|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1627|  14.6k|        TestCT::noinline_set_be64(buf, v64);
 1628|  14.6k|        assert_noexcept(TestCT::noinline_get_be64(buf) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1629|  14.6k|        assert_noexcept(upx::compile_time::get_be64(buf) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1630|  14.6k|        assert_noexcept(memcmp(buf, be64.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1631|       |
 1632|      0|        constexpr auto le16 = TestCT::makeLE16(v16);
 1633|  14.6k|        static_assert(upx::compile_time::get_le16(le16.d) == v16);
 1634|  14.6k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1635|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1636|  14.6k|        TestCT::noinline_set_le16(buf, v16);
 1637|  14.6k|        assert_noexcept(TestCT::noinline_get_le16(buf) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1638|  14.6k|        assert_noexcept(upx::compile_time::get_le16(buf) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1639|  14.6k|        assert_noexcept(memcmp(buf, le16.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1640|       |
 1641|      0|        constexpr auto le24 = TestCT::makeLE24(v24);
 1642|  14.6k|        static_assert(upx::compile_time::get_le24(le24.d) == v24);
 1643|  14.6k|        static_assert(mem_eq(le24.d, "\x01\x02\x03", 3));
 1644|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1645|  14.6k|        TestCT::noinline_set_le24(buf, v24);
 1646|  14.6k|        assert_noexcept(TestCT::noinline_get_le24(buf) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1647|  14.6k|        assert_noexcept(upx::compile_time::get_le24(buf) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1648|  14.6k|        assert_noexcept(memcmp(buf, le24.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1649|       |
 1650|      0|        constexpr auto le32 = TestCT::makeLE32(v32);
 1651|  14.6k|        static_assert(upx::compile_time::get_le32(le32.d) == v32);
 1652|  14.6k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1653|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1654|  14.6k|        TestCT::noinline_set_le32(buf, v32);
 1655|  14.6k|        assert_noexcept(TestCT::noinline_get_le32(buf) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1656|  14.6k|        assert_noexcept(upx::compile_time::get_le32(buf) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1657|  14.6k|        assert_noexcept(memcmp(buf, le32.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1658|       |
 1659|      0|        constexpr auto le64 = TestCT::makeLE64(v64);
 1660|  14.6k|        static_assert(upx::compile_time::get_le64(le64.d) == v64);
 1661|  14.6k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1662|  14.6k|        upx::compile_time::mem_clear(buf, 8);
 1663|  14.6k|        TestCT::noinline_set_le64(buf, v64);
 1664|  14.6k|        assert_noexcept(TestCT::noinline_get_le64(buf) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1665|  14.6k|        assert_noexcept(upx::compile_time::get_le64(buf) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1666|  14.6k|        assert_noexcept(memcmp(buf, le64.d, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1667|       |
 1668|      0|        static_assert(upx::compile_time::bswap16(upx::compile_time::get_be16(be16.d)) ==
 1669|  14.6k|                      upx::compile_time::get_be16(le16.d));
 1670|  14.6k|        static_assert(upx::compile_time::bswap32(upx::compile_time::get_be32(be32.d)) ==
 1671|  14.6k|                      upx::compile_time::get_be32(le32.d));
 1672|  14.6k|        static_assert(upx::compile_time::bswap64(upx::compile_time::get_be64(be64.d)) ==
 1673|  14.6k|                      upx::compile_time::get_be64(le64.d));
 1674|  14.6k|        assert_noexcept(TestCT::noinline_bswap16(TestCT::noinline_get_be16(be16.d)) ==
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1675|  14.6k|                        TestCT::noinline_get_be16(le16.d));
 1676|  14.6k|        assert_noexcept(TestCT::noinline_bswap32(TestCT::noinline_get_be32(be32.d)) ==
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1677|  14.6k|                        TestCT::noinline_get_be32(le32.d));
 1678|  14.6k|        assert_noexcept(TestCT::noinline_bswap64(TestCT::noinline_get_be64(be64.d)) ==
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1679|  14.6k|                        TestCT::noinline_get_be64(le64.d));
 1680|  14.6k|    }
 1681|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap16Et:
  807|  44.0k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept {
  808|  44.0k|        return upx::compile_time::bswap16(v);
  ------------------
  |  |  366|  44.0k|#define bswap16 upx_bswap16
  ------------------
  809|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap32Ej:
  810|  44.0k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept {
  811|  44.0k|        return upx::compile_time::bswap32(v);
  ------------------
  |  |  367|  44.0k|#define bswap32 upx_bswap32
  ------------------
  812|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap64Ey:
  813|  44.0k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept {
  814|  44.0k|        return upx::compile_time::bswap64(v);
  ------------------
  |  |  368|  44.0k|#define bswap64 upx_bswap64
  ------------------
  815|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be16EPht:
  842|  29.3k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept {
  843|  29.3k|        upx::compile_time::set_be16(p, v);
  844|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be16EPKh:
  817|  73.3k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept {
  818|  73.3k|        return upx::compile_time::get_be16(p);
  819|  73.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be24EPhj:
  845|  29.3k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept {
  846|  29.3k|        upx::compile_time::set_be24(p, v);
  847|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be24EPKh:
  820|  44.0k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept {
  821|  44.0k|        return upx::compile_time::get_be24(p);
  822|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be32EPhj:
  848|  29.3k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept {
  849|  29.3k|        upx::compile_time::set_be32(p, v);
  850|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be32EPKh:
  823|  73.3k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept {
  824|  73.3k|        return upx::compile_time::get_be32(p);
  825|  73.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be64EPhy:
  851|  29.3k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept {
  852|  29.3k|        upx::compile_time::set_be64(p, v);
  853|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be64EPKh:
  826|  73.3k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept {
  827|  73.3k|        return upx::compile_time::get_be64(p);
  828|  73.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le16EPht:
  854|  29.3k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept {
  855|  29.3k|        upx::compile_time::set_le16(p, v);
  856|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le16EPKh:
  829|  44.0k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept {
  830|  44.0k|        return upx::compile_time::get_le16(p);
  831|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le24EPhj:
  857|  29.3k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept {
  858|  29.3k|        upx::compile_time::set_le24(p, v);
  859|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le24EPKh:
  832|  44.0k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept {
  833|  44.0k|        return upx::compile_time::get_le24(p);
  834|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le32EPhj:
  860|  29.3k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept {
  861|  29.3k|        upx::compile_time::set_le32(p, v);
  862|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le32EPKh:
  835|  44.0k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept {
  836|  44.0k|        return upx::compile_time::get_le32(p);
  837|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le64EPhy:
  863|  29.3k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept {
  864|  29.3k|        upx::compile_time::set_le64(p, v);
  865|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le64EPKh:
  838|  44.0k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept {
  839|  44.0k|        return upx::compile_time::get_le64(p);
  840|  44.0k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_24v:
 1683|  14.6k|TEST_CASE("upx::run_time 1a") {
 1684|  14.6k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1685|  14.6k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1686|  14.6k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1687|  14.6k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1688|  14.6k|    {
 1689|  14.6k|        assert_noexcept2(TestCT::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1690|  14.6k|        assert_noexcept2(TestCT::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1691|  14.6k|        assert_noexcept2(TestCT::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1692|  14.6k|    }
 1693|  14.6k|    {
 1694|  14.6k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  166|  14.6k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1695|  14.6k|        byte *const buf1 = aligned_buffer + 3;
 1696|  14.6k|        byte *const buf2 = aligned_buffer + 13;
 1697|       |
 1698|  14.6k|        upx::compile_time::set_be16(buf1, v16);
 1699|  14.6k|        TestCT::noinline_set_be16(buf2, v16);
 1700|  14.6k|        assert_noexcept(TestCT::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1701|  14.6k|        assert_noexcept(TestCT::noinline_get_be16(buf2) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1702|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1703|      0|        upx::compile_time::set_be24(buf1, v24);
 1704|  14.6k|        TestCT::noinline_set_be24(buf2, v24);
 1705|  14.6k|        assert_noexcept(TestCT::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1706|  14.6k|        assert_noexcept(TestCT::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1707|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1708|      0|        upx::compile_time::set_be32(buf1, v32);
 1709|  14.6k|        TestCT::noinline_set_be32(buf2, v32);
 1710|  14.6k|        assert_noexcept(TestCT::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1711|  14.6k|        assert_noexcept(TestCT::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1712|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1713|      0|        upx::compile_time::set_be64(buf1, v64);
 1714|  14.6k|        TestCT::noinline_set_be64(buf2, v64);
 1715|  14.6k|        assert_noexcept(TestCT::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1716|  14.6k|        assert_noexcept(TestCT::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1717|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1718|       |
 1719|      0|        upx::compile_time::set_le16(buf1, v16);
 1720|  14.6k|        TestCT::noinline_set_le16(buf2, v16);
 1721|  14.6k|        assert_noexcept(TestCT::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1722|  14.6k|        assert_noexcept(TestCT::noinline_get_le16(buf2) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1723|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1724|      0|        upx::compile_time::set_le24(buf1, v24);
 1725|  14.6k|        TestCT::noinline_set_le24(buf2, v24);
 1726|  14.6k|        assert_noexcept(TestCT::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1727|  14.6k|        assert_noexcept(TestCT::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1728|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1729|      0|        upx::compile_time::set_le32(buf1, v32);
 1730|  14.6k|        TestCT::noinline_set_le32(buf2, v32);
 1731|  14.6k|        assert_noexcept(TestCT::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1732|  14.6k|        assert_noexcept(TestCT::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1733|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1734|      0|        upx::compile_time::set_le64(buf1, v64);
 1735|  14.6k|        TestCT::noinline_set_le64(buf2, v64);
 1736|  14.6k|        assert_noexcept(TestCT::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1737|  14.6k|        assert_noexcept(TestCT::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1738|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1739|  14.6k|    }
 1740|  14.6k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_26v:
 1742|  14.6k|TEST_CASE("upx::run_time 1b") {
 1743|  14.6k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1744|  14.6k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1745|  14.6k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1746|  14.6k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1747|  14.6k|    {
 1748|  14.6k|        assert_noexcept2(TestXE::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1749|  14.6k|        assert_noexcept2(TestXE::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1750|  14.6k|        assert_noexcept2(TestXE::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1751|  14.6k|        assert_noexcept2(TestXE::noinline_bswap16_unsigned(v16) == 0xf1f2);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1752|  14.6k|    }
 1753|  14.6k|    {
 1754|  14.6k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  166|  14.6k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1755|  14.6k|        byte *const buf1 = aligned_buffer + 3;
 1756|  14.6k|        byte *const buf2 = aligned_buffer + 13;
 1757|       |
 1758|  14.6k|        set_be16(buf1, v16);
 1759|  14.6k|        TestXE::noinline_set_be16(buf2, v16);
 1760|  14.6k|        assert_noexcept(TestXE::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1761|  14.6k|        assert_noexcept(TestXE::noinline_get_be16_unsigned(buf2) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1762|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1763|      0|        set_be24(buf1, v24);
 1764|  14.6k|        TestXE::noinline_set_be24(buf2, v24);
 1765|  14.6k|        assert_noexcept(TestXE::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1766|  14.6k|        assert_noexcept(TestXE::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1767|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1768|      0|        set_be32(buf1, v32);
 1769|  14.6k|        TestXE::noinline_set_be32(buf2, v32);
 1770|  14.6k|        assert_noexcept(TestXE::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1771|  14.6k|        assert_noexcept(TestXE::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1772|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1773|      0|        set_be64(buf1, v64);
 1774|  14.6k|        TestXE::noinline_set_be64(buf2, v64);
 1775|  14.6k|        assert_noexcept(TestXE::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1776|  14.6k|        assert_noexcept(TestXE::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1777|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1778|       |
 1779|      0|        set_le16(buf1, v16);
 1780|  14.6k|        TestXE::noinline_set_le16(buf2, v16);
 1781|  14.6k|        assert_noexcept(TestXE::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1782|  14.6k|        assert_noexcept(TestXE::noinline_get_le16_unsigned(buf2) == v16);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1783|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1784|      0|        set_le24(buf1, v24);
 1785|  14.6k|        TestXE::noinline_set_le24(buf2, v24);
 1786|  14.6k|        assert_noexcept(TestXE::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1787|  14.6k|        assert_noexcept(TestXE::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1788|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1789|      0|        set_le32(buf1, v32);
 1790|  14.6k|        TestXE::noinline_set_le32(buf2, v32);
 1791|  14.6k|        assert_noexcept(TestXE::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1792|  14.6k|        assert_noexcept(TestXE::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1793|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1794|      0|        set_le64(buf1, v64);
 1795|  14.6k|        TestXE::noinline_set_le64(buf2, v64);
 1796|  14.6k|        assert_noexcept(TestXE::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1797|  14.6k|        assert_noexcept(TestXE::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1798|  14.6k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1799|       |
 1800|      0|        TestXE::noinline_set_be16_unsigned(buf2, v16);
 1801|  14.6k|        TestXE::noinline_set_le16_unsigned(buf2, v16);
 1802|       |
 1803|  14.6k|        assert_noexcept2(TestXE::noinline_get_me8_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1804|  14.6k|        assert_noexcept2(TestXE::noinline_get_me8_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1805|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne8_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1806|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne8_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1807|  14.6k|        assert_noexcept2(TestXE::noinline_get_me16_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1808|  14.6k|        assert_noexcept2(TestXE::noinline_get_me16_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1809|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne16_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1810|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne16_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1811|  14.6k|        assert_noexcept2(TestXE::noinline_get_me32_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1812|  14.6k|        assert_noexcept2(TestXE::noinline_get_me32_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1813|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne32_int64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1814|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne32_uint64(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1815|  14.6k|#if (__SIZEOF_INT128__ == 16)
 1816|  14.6k|        assert_noexcept2(TestXE::noinline_get_me32_int128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1817|  14.6k|        assert_noexcept2(TestXE::noinline_get_me32_uint128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1818|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne32_int128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1819|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne32_uint128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1820|  14.6k|        assert_noexcept2(TestXE::noinline_get_me64_int128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1821|  14.6k|        assert_noexcept2(TestXE::noinline_get_me64_uint128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1822|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne64_int128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1823|  14.6k|        assert_noexcept2(TestXE::noinline_get_ne64_uint128(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1824|  14.6k|#endif
 1825|       |
 1826|  14.6k|        assert_noexcept2(TestXE::noinline_get_be16_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1827|  14.6k|        assert_noexcept2(TestXE::noinline_get_be24_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1828|  14.6k|        assert_noexcept2(TestXE::noinline_get_be32_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1829|  14.6k|        assert_noexcept2(TestXE::noinline_get_be64_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1830|  14.6k|        assert_noexcept2(TestXE::noinline_get_le16_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1831|  14.6k|        assert_noexcept2(TestXE::noinline_get_le24_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1832|  14.6k|        assert_noexcept2(TestXE::noinline_get_le32_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1833|  14.6k|        assert_noexcept2(TestXE::noinline_get_le64_signed(buf1) != 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1834|  14.6k|    }
 1835|      0|    {
 1836|  14.6k|        assert_noexcept2(TestXE::noinline_make_be16(v32) == 0xf2f1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1837|  14.6k|        assert_noexcept2(TestXE::noinline_make_be32(v32) == 0xf4f3f2f1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1838|  14.6k|        assert_noexcept2(TestXE::noinline_make_be64(v64) == 0xf8f7f6f5f4f3f2f1ull);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1839|  14.6k|        assert_noexcept2(TestXE::noinline_make_le16(v32) == 0xf2f1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1840|  14.6k|        assert_noexcept2(TestXE::noinline_make_le32(v32) == 0xf4f3f2f1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1841|  14.6k|        assert_noexcept2(TestXE::noinline_make_le64(v64) == 0xf8f7f6f5f4f3f2f1ull);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1842|  14.6k|        const int n = acc_vget_int(0, 0);
 1843|  14.6k|        assert_noexcept2(TestXE::noinline_make_be16(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1844|  14.6k|        assert_noexcept2(TestXE::noinline_make_be32(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1845|  14.6k|        assert_noexcept2(TestXE::noinline_make_be64(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1846|  14.6k|        assert_noexcept2(TestXE::noinline_make_le16(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1847|  14.6k|        assert_noexcept2(TestXE::noinline_make_le32(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1848|  14.6k|        assert_noexcept2(TestXE::noinline_make_le64(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1849|  14.6k|    }
 1850|  14.6k|    {
 1851|  14.6k|        const BE16 be16 = BE16::make(acc_vget_int(v16, 0));
 1852|  14.6k|        const BE32 be32 = BE32::make(acc_vget_int(v32, 0));
 1853|  14.6k|        const BE64 be64 = BE64::make(acc_vget_acc_int64l_t(v64, 0));
 1854|  14.6k|        const LE16 le16 = LE16::make(acc_vget_int(v16, 0));
 1855|  14.6k|        const LE32 le32 = LE32::make(acc_vget_int(v32, 0));
 1856|  14.6k|        const LE64 le64 = LE64::make(acc_vget_acc_int64l_t(v64, 0));
 1857|  14.6k|        assert_noexcept2(TestXE::noinline_equal_be16(be16, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1858|  14.6k|        assert_noexcept2(TestXE::noinline_equal_be32(be32, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1859|  14.6k|        assert_noexcept2(TestXE::noinline_equal_be64(be64, v64));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1860|  14.6k|        assert_noexcept2(TestXE::noinline_equal_le16(le16, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1861|  14.6k|        assert_noexcept2(TestXE::noinline_equal_le32(le32, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1862|  14.6k|        assert_noexcept2(TestXE::noinline_equal_le64(le64, v64));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1863|  14.6k|        assert_noexcept2(!TestXE::noinline_less_be16(be16, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1864|  14.6k|        assert_noexcept2(!TestXE::noinline_less_be32(be32, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1865|  14.6k|        assert_noexcept2(!TestXE::noinline_less_be64(be64, v64));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1866|  14.6k|        assert_noexcept2(!TestXE::noinline_less_le16(le16, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1867|  14.6k|        assert_noexcept2(!TestXE::noinline_less_le32(le32, v32));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1868|  14.6k|        assert_noexcept2(!TestXE::noinline_less_le64(le64, v64));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1869|  14.6k|    }
 1870|  14.6k|    {
 1871|   249k|        for (int i = -8; i < 8; i++) {
  ------------------
  |  Branch (1871:26): [True: 234k, False: 14.6k]
  ------------------
 1872|   234k|            {
 1873|   234k|                const unsigned u = i;
 1874|   234k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1875|   234k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1876|   234k|                assert_noexcept(TestXE::noinline_sign_extend32_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1877|   234k|                assert_noexcept(TestXE::noinline_sign_extend32_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1878|   234k|                assert_noexcept(TestXE::noinline_sign_extend32_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1879|   234k|                assert_noexcept(TestXE::noinline_sign_extend32_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1880|   234k|                assert_noexcept(TestXE::noinline_sign_extend32_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1881|   234k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1882|   234k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1883|   234k|                assert_noexcept(TestXE::noinline_xign_extend32_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1884|   234k|                assert_noexcept(TestXE::noinline_xign_extend32_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1885|   234k|                assert_noexcept(TestXE::noinline_xign_extend32_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1886|   234k|                assert_noexcept(TestXE::noinline_xign_extend32_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1887|   234k|                assert_noexcept(TestXE::noinline_xign_extend32_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1888|   234k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1889|   234k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1890|   234k|                assert_noexcept(TestXE::noinline_yign_extend32_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1891|   234k|                assert_noexcept(TestXE::noinline_yign_extend32_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1892|   234k|                assert_noexcept(TestXE::noinline_yign_extend32_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1893|   234k|                assert_noexcept(TestXE::noinline_yign_extend32_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1894|   234k|                assert_noexcept(TestXE::noinline_yign_extend32_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1895|   234k|                if (i >= 0) {
  ------------------
  |  Branch (1895:21): [True: 117k, False: 117k]
  ------------------
 1896|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32(u, 4 + (i & 1)) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1897|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_4(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1898|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_8(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1899|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_16(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1900|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_24(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1901|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend32_32(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1902|   117k|                }
 1903|   234k|            }
 1904|      0|            {
 1905|   234k|                const upx_uint64_t u = i;
 1906|   234k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1907|   234k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1908|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1909|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1910|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1911|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1912|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1913|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_48(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1914|   234k|                assert_noexcept(TestXE::noinline_sign_extend64_64(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1915|   234k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1916|   234k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1917|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1918|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1919|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1920|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1921|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1922|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_48(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1923|   234k|                assert_noexcept(TestXE::noinline_xign_extend64_64(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1924|   234k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 117k, False: 117k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1925|   234k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1926|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_4(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1927|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_8(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1928|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_16(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1929|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_24(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1930|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_32(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1931|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_48(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1932|   234k|                assert_noexcept(TestXE::noinline_yign_extend64_64(u) == i);
  ------------------
  |  |  515|   234k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1933|   234k|                if (i >= 0) {
  ------------------
  |  Branch (1933:21): [True: 117k, False: 117k]
  ------------------
 1934|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64(u, 4 + (i & 1)) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1935|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_4(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1936|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_8(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1937|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_16(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1938|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_24(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1939|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_32(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1940|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_48(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1941|   117k|                    assert_noexcept(TestXE::noinline_x_unsign_extend64_64(u) == u);
  ------------------
  |  |  515|   117k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 117k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1942|   117k|                }
 1943|   234k|            }
 1944|   234k|        }
 1945|  14.6k|    }
 1946|  14.6k|    {
 1947|  14.6k|        const upx_uint64_t element_size = upx_uint64_t(acc_vget_acc_int64l_t(1, 0));
 1948|  14.6k|        const upx_uint64_t n = upx_uint64_t(acc_vget_acc_int64l_t(0, 0));
 1949|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_int8_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1950|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_uint8_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1951|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_int16_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1952|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_uint16_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1953|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_int32_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1954|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_uint32_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1955|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_int64_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1956|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_uint64_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1957|  14.6k|#if (__SIZEOF_INT128__ == 16)
 1958|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_int128_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1959|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_valid_bytes(upx_uint128_t(n)));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1960|  14.6k|#endif
 1961|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size(element_size, n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1962|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_1(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1963|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_256(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1964|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_473(n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1965|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_4_16384() == 65536);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1966|  14.6k|        assert_noexcept2(TestXE::noinline_mem_size_get_n(element_size, n) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1967|  14.6k|    }
 1968|  14.6k|    {
 1969|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_int8_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1970|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_uint8_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1971|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_int16_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1972|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_uint16_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1973|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_int32_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1974|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_uint32_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1975|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_int64_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1976|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_uint64_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1977|  14.6k|#if (__SIZEOF_INT128__ == 16)
 1978|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_int128_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1979|  14.6k|        assert_noexcept2(TestXE::noinline_ptrdiff<upx_uint128_t>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1980|  14.6k|#endif
 1981|  14.6k|    }
 1982|  14.6k|    {
 1983|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_eq<void>(nullptr, nullptr) == 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1984|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_ne<void>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1985|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_lt<void>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1986|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_gt<void>(nullptr, nullptr) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1987|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_le<void>(nullptr, nullptr) == 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1988|  14.6k|        assert_noexcept2(TestXE::noinline_ptr_cmp_ge<void>(nullptr, nullptr) == 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 1989|  14.6k|    }
 1990|  14.6k|    if (acc_vget_int(0, 0)) {
  ------------------
  |  Branch (1990:9): [True: 0, False: 14.6k]
  ------------------
 1991|      0|        ByteArray(d, 1048576);
  ------------------
  |  |  495|      0|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  492|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  493|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1992|      0|        ByteArray(s, 1048576);
  ------------------
  |  |  495|      0|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  492|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  493|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1993|      0|        s_membuf.clear();
 1994|      0|        TestXE::noinline_memcpy_0(d, s);
 1995|      0|        TestXE::noinline_memcpy_1(d, s);
 1996|      0|        TestXE::noinline_memcpy_2(d, s);
 1997|      0|        TestXE::noinline_memcpy_4(d, s);
 1998|      0|        TestXE::noinline_memcpy_8(d, s);
 1999|      0|        TestXE::noinline_memcpy_16(d, s);
 2000|      0|        TestXE::noinline_memcpy_32(d, s);
 2001|      0|        TestXE::noinline_memcpy_64(d, s);
 2002|      0|        TestXE::noinline_memcpy_128(d, s);
 2003|      0|        TestXE::noinline_memcpy_256(d, s);
 2004|      0|        TestXE::noinline_memcpy_512(d, s);
 2005|      0|        TestXE::noinline_memcpy_1024(d, s);
 2006|      0|        TestXE::noinline_memcpy_65536(d, s);
 2007|      0|        TestXE::noinline_memcpy_1048576(d, s);
 2008|      0|        TestXE::noinline_memcpy_3(d, s);
 2009|      0|        TestXE::noinline_memcpy_6(d, s);
 2010|      0|        TestXE::noinline_memcpy_12(d, s);
 2011|      0|        TestXE::noinline_memcpy_24(d, s);
 2012|      0|        TestXE::noinline_memcpy_48(d, s);
 2013|      0|        TestXE::noinline_memcpy_96(d, s);
 2014|      0|        TestXE::noinline_memcpy_192(d, s);
 2015|      0|        TestXE::noinline_memcpy_384(d, s);
 2016|      0|        TestXE::noinline_memcpy_768(d, s);
 2017|      0|        TestXE::noinline_memcpy_7(d, s);
 2018|      0|        TestXE::noinline_memcpy_13(d, s);
 2019|      0|        TestXE::noinline_memcpy_25(d, s);
 2020|      0|        TestXE::noinline_memcpy_49(d, s);
 2021|      0|        TestXE::noinline_memcpy_97(d, s);
 2022|      0|        TestXE::noinline_memcpy_193(d, s);
 2023|      0|        TestXE::noinline_memcpy_385(d, s);
 2024|      0|        TestXE::noinline_memcpy_769(d, s);
 2025|      0|    }
 2026|  14.6k|    if (acc_vget_int(1, 0)) {
  ------------------
  |  Branch (2026:9): [True: 14.6k, False: 0]
  ------------------
 2027|  14.6k|        const int n = acc_vget_int(0, 0);
 2028|  14.6k|        char a[16] = {};
 2029|  14.6k|        char b[16] = {};
 2030|  14.6k|        assert_noexcept2((TestXE::noinline_strlen(a) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2031|  14.6k|        assert_noexcept2((TestXE::noinline_strcmp(a, b) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2032|  14.6k|        assert_noexcept2((TestXE::noinline_strncmp(a, b, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2033|  14.6k|    }
 2034|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap16Et:
 1049|  14.6k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept { return bswap16(v); }
  ------------------
  |  |  366|  14.6k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap32Ej:
 1050|  14.6k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept { return bswap32(v); }
  ------------------
  |  |  367|  14.6k|#define bswap32 upx_bswap32
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap64Ey:
 1051|  14.6k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept { return bswap64(v); }
  ------------------
  |  |  368|  14.6k|#define bswap64 upx_bswap64
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_bswap16_unsignedEj:
 1071|  14.6k|    static noinline unsigned noinline_bswap16_unsigned(unsigned v) noexcept { return bswap16(v); }
  ------------------
  |  |  366|  14.6k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be16EPht:
 1062|  14.6k|    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:
 1053|  14.6k|    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:
 1072|  14.6k|    static noinline unsigned noinline_get_be16_unsigned(const byte *p) noexcept {
 1073|  14.6k|        return get_be16(p);
 1074|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be24EPhj:
 1063|  14.6k|    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:
 1054|  29.3k|    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:
 1064|  14.6k|    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:
 1055|  29.3k|    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:
 1065|  14.6k|    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:
 1056|  29.3k|    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:
 1066|  14.6k|    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:
 1057|  14.6k|    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:
 1075|  14.6k|    static noinline unsigned noinline_get_le16_unsigned(const byte *p) noexcept {
 1076|  14.6k|        return get_le16(p);
 1077|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le24EPhj:
 1067|  14.6k|    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:
 1058|  29.3k|    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:
 1068|  14.6k|    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:
 1059|  29.3k|    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:
 1069|  14.6k|    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:
 1060|  29.3k|    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:
 1078|  14.6k|    static noinline void noinline_set_be16_unsigned(byte * p, unsigned v) noexcept {
 1079|  14.6k|        set_be16(p, v);
 1080|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_set_le16_unsignedEPhj:
 1081|  14.6k|    static noinline void noinline_set_le16_unsigned(byte * p, unsigned v) noexcept {
 1082|  14.6k|        set_le16(p, v);
 1083|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_get_me8_int64EPKh:
 1085|  14.6k|    static noinline upx_int64_t noinline_get_me8_int64(const byte *p) noexcept {
 1086|  14.6k|        return get_me8_int64(p);
 1087|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113get_me8_int64EPKh:
  919|  14.6k|static forceinline upx_int64_t get_me8_int64(const byte *p) noexcept {
  920|  14.6k|    upx_int8_t v = 0;
  921|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  922|  14.6k|    return v;
  923|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me8_uint64EPKh:
 1088|  14.6k|    static noinline upx_uint64_t noinline_get_me8_uint64(const byte *p) noexcept {
 1089|  14.6k|        return get_me8_uint64(p);
 1090|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me8_uint64EPKh:
  924|  14.6k|static forceinline upx_uint64_t get_me8_uint64(const byte *p) noexcept {
  925|  14.6k|    upx_int8_t v = 0;
  926|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  927|  14.6k|    return v;
  928|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_get_ne8_int64EPKh:
 1091|  14.6k|    static noinline upx_int64_t noinline_get_ne8_int64(const byte *p) noexcept {
 1092|  14.6k|        return get_ne8_int64(p);
 1093|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113get_ne8_int64EPKh:
  929|  14.6k|static forceinline upx_int64_t get_ne8_int64(const byte *p) noexcept {
  930|  14.6k|    upx_uint8_t v = 0;
  931|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  932|  14.6k|    return v;
  933|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne8_uint64EPKh:
 1094|  14.6k|    static noinline upx_uint64_t noinline_get_ne8_uint64(const byte *p) noexcept {
 1095|  14.6k|        return get_ne8_uint64(p);
 1096|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne8_uint64EPKh:
  934|  14.6k|static forceinline upx_uint64_t get_ne8_uint64(const byte *p) noexcept {
  935|  14.6k|    upx_uint8_t v = 0;
  936|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  937|  14.6k|    return v;
  938|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me16_int64EPKh:
 1097|  14.6k|    static noinline upx_int64_t noinline_get_me16_int64(const byte *p) noexcept {
 1098|  14.6k|        return get_me16_int64(p);
 1099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me16_int64EPKh:
  939|  14.6k|static forceinline upx_int64_t get_me16_int64(const byte *p) noexcept {
  940|  14.6k|    upx_int16_t v = 0;
  941|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  942|  14.6k|    return v;
  943|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me16_uint64EPKh:
 1100|  14.6k|    static noinline upx_uint64_t noinline_get_me16_uint64(const byte *p) noexcept {
 1101|  14.6k|        return get_me16_uint64(p);
 1102|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me16_uint64EPKh:
  944|  14.6k|static forceinline upx_uint64_t get_me16_uint64(const byte *p) noexcept {
  945|  14.6k|    upx_int16_t v = 0;
  946|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  947|  14.6k|    return v;
  948|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne16_int64EPKh:
 1103|  14.6k|    static noinline upx_int64_t noinline_get_ne16_int64(const byte *p) noexcept {
 1104|  14.6k|        return get_ne16_int64(p);
 1105|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne16_int64EPKh:
  949|  14.6k|static forceinline upx_int64_t get_ne16_int64(const byte *p) noexcept {
  950|  14.6k|    upx_uint16_t v = 0;
  951|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  952|  14.6k|    return v;
  953|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne16_uint64EPKh:
 1106|  14.6k|    static noinline upx_uint64_t noinline_get_ne16_uint64(const byte *p) noexcept {
 1107|  14.6k|        return get_ne16_uint64(p);
 1108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne16_uint64EPKh:
  954|  14.6k|static forceinline upx_uint64_t get_ne16_uint64(const byte *p) noexcept {
  955|  14.6k|    upx_uint16_t v = 0;
  956|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  957|  14.6k|    return v;
  958|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_me32_int64EPKh:
 1109|  14.6k|    static noinline upx_int64_t noinline_get_me32_int64(const byte *p) noexcept {
 1110|  14.6k|        return get_me32_int64(p);
 1111|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_me32_int64EPKh:
  959|  14.6k|static forceinline upx_int64_t get_me32_int64(const byte *p) noexcept {
  960|  14.6k|    upx_int32_t v = 0;
  961|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  962|  14.6k|    return v;
  963|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me32_uint64EPKh:
 1112|  14.6k|    static noinline upx_uint64_t noinline_get_me32_uint64(const byte *p) noexcept {
 1113|  14.6k|        return get_me32_uint64(p);
 1114|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me32_uint64EPKh:
  964|  14.6k|static forceinline upx_uint64_t get_me32_uint64(const byte *p) noexcept {
  965|  14.6k|    upx_int32_t v = 0;
  966|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  967|  14.6k|    return v;
  968|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_get_ne32_int64EPKh:
 1115|  14.6k|    static noinline upx_int64_t noinline_get_ne32_int64(const byte *p) noexcept {
 1116|  14.6k|        return get_ne32_int64(p);
 1117|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_114get_ne32_int64EPKh:
  969|  14.6k|static forceinline upx_int64_t get_ne32_int64(const byte *p) noexcept {
  970|  14.6k|    upx_uint32_t v = 0;
  971|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  972|  14.6k|    return v;
  973|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne32_uint64EPKh:
 1118|  14.6k|    static noinline upx_uint64_t noinline_get_ne32_uint64(const byte *p) noexcept {
 1119|  14.6k|        return get_ne32_uint64(p);
 1120|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne32_uint64EPKh:
  974|  14.6k|static forceinline upx_uint64_t get_ne32_uint64(const byte *p) noexcept {
  975|  14.6k|    upx_uint32_t v = 0;
  976|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  977|  14.6k|    return v;
  978|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me32_int128EPKh:
 1122|  14.6k|    static noinline upx_int128_t noinline_get_me32_int128(const byte *p) noexcept {
 1123|  14.6k|        return get_me32_int128(p);
 1124|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me32_int128EPKh:
  980|  14.6k|static forceinline upx_int128_t get_me32_int128(const byte *p) noexcept {
  981|  14.6k|    upx_int32_t v = 0;
  982|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  983|  14.6k|    return v;
  984|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_me32_uint128EPKh:
 1125|  14.6k|    static noinline upx_uint128_t noinline_get_me32_uint128(const byte *p) noexcept {
 1126|  14.6k|        return get_me32_uint128(p);
 1127|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_me32_uint128EPKh:
  985|  14.6k|static forceinline upx_uint128_t get_me32_uint128(const byte *p) noexcept {
  986|  14.6k|    upx_int32_t v = 0;
  987|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  988|  14.6k|    return v;
  989|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne32_int128EPKh:
 1128|  14.6k|    static noinline upx_int128_t noinline_get_ne32_int128(const byte *p) noexcept {
 1129|  14.6k|        return get_ne32_int128(p);
 1130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne32_int128EPKh:
  990|  14.6k|static forceinline upx_int128_t get_ne32_int128(const byte *p) noexcept {
  991|  14.6k|    upx_uint32_t v = 0;
  992|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  993|  14.6k|    return v;
  994|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_ne32_uint128EPKh:
 1131|  14.6k|    static noinline upx_uint128_t noinline_get_ne32_uint128(const byte *p) noexcept {
 1132|  14.6k|        return get_ne32_uint128(p);
 1133|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_ne32_uint128EPKh:
  995|  14.6k|static forceinline upx_uint128_t get_ne32_uint128(const byte *p) noexcept {
  996|  14.6k|    upx_uint32_t v = 0;
  997|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  998|  14.6k|    return v;
  999|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_me64_int128EPKh:
 1134|  14.6k|    static noinline upx_int128_t noinline_get_me64_int128(const byte *p) noexcept {
 1135|  14.6k|        return get_me64_int128(p);
 1136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_me64_int128EPKh:
 1000|  14.6k|static forceinline upx_int128_t get_me64_int128(const byte *p) noexcept {
 1001|  14.6k|    upx_int64_t v = 0;
 1002|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1003|  14.6k|    return v;
 1004|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_me64_uint128EPKh:
 1137|  14.6k|    static noinline upx_uint128_t noinline_get_me64_uint128(const byte *p) noexcept {
 1138|  14.6k|        return get_me64_uint128(p);
 1139|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_me64_uint128EPKh:
 1005|  14.6k|static forceinline upx_uint128_t get_me64_uint128(const byte *p) noexcept {
 1006|  14.6k|    upx_int64_t v = 0;
 1007|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1008|  14.6k|    return v;
 1009|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_ne64_int128EPKh:
 1140|  14.6k|    static noinline upx_int128_t noinline_get_ne64_int128(const byte *p) noexcept {
 1141|  14.6k|        return get_ne64_int128(p);
 1142|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_115get_ne64_int128EPKh:
 1010|  14.6k|static forceinline upx_int128_t get_ne64_int128(const byte *p) noexcept {
 1011|  14.6k|    upx_uint64_t v = 0;
 1012|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1013|  14.6k|    return v;
 1014|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_get_ne64_uint128EPKh:
 1143|  14.6k|    static noinline upx_uint128_t noinline_get_ne64_uint128(const byte *p) noexcept {
 1144|  14.6k|        return get_ne64_uint128(p);
 1145|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_116get_ne64_uint128EPKh:
 1015|  14.6k|static forceinline upx_uint128_t get_ne64_uint128(const byte *p) noexcept {
 1016|  14.6k|    upx_uint64_t v = 0;
 1017|  14.6k|    upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  ------------------
 1018|  14.6k|    return v;
 1019|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be16_signedEPKh:
 1148|  14.6k|    static noinline int noinline_get_be16_signed(const byte *p) noexcept {
 1149|  14.6k|        return get_be16_signed(p);
 1150|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be24_signedEPKh:
 1151|  14.6k|    static noinline int noinline_get_be24_signed(const byte *p) noexcept {
 1152|  14.6k|        return get_be24_signed(p);
 1153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be32_signedEPKh:
 1154|  14.6k|    static noinline int noinline_get_be32_signed(const byte *p) noexcept {
 1155|  14.6k|        return get_be32_signed(p);
 1156|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_be64_signedEPKh:
 1157|  14.6k|    static noinline upx_int64_t noinline_get_be64_signed(const byte *p) noexcept {
 1158|  14.6k|        return get_be64_signed(p);
 1159|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le16_signedEPKh:
 1160|  14.6k|    static noinline int noinline_get_le16_signed(const byte *p) noexcept {
 1161|  14.6k|        return get_le16_signed(p);
 1162|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le24_signedEPKh:
 1163|  14.6k|    static noinline int noinline_get_le24_signed(const byte *p) noexcept {
 1164|  14.6k|        return get_le24_signed(p);
 1165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le32_signedEPKh:
 1166|  14.6k|    static noinline int noinline_get_le32_signed(const byte *p) noexcept {
 1167|  14.6k|        return get_le32_signed(p);
 1168|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_get_le64_signedEPKh:
 1169|  14.6k|    static noinline upx_int64_t noinline_get_le64_signed(const byte *p) noexcept {
 1170|  14.6k|        return get_le64_signed(p);
 1171|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be16Ej:
 1173|  29.3k|    static noinline BE16 noinline_make_be16(unsigned v) noexcept { return BE16::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be32Ej:
 1174|  29.3k|    static noinline BE32 noinline_make_be32(unsigned v) noexcept { return BE32::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_be64Ey:
 1175|  29.3k|    static noinline BE64 noinline_make_be64(upx_uint64_t v) noexcept { return BE64::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le16Ej:
 1176|  29.3k|    static noinline LE16 noinline_make_le16(unsigned v) noexcept { return LE16::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le32Ej:
 1177|  29.3k|    static noinline LE32 noinline_make_le32(unsigned v) noexcept { return LE32::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_make_le64Ey:
 1178|  29.3k|    static noinline LE64 noinline_make_le64(upx_uint64_t v) noexcept { return LE64::make(v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be16E4BE16j:
 1180|  14.6k|    static noinline bool noinline_equal_be16(BE16 a, unsigned v) noexcept {
 1181|  14.6k|        const BE16 b = BE16::make(v);
 1182|  14.6k|        return a == b;
 1183|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be32E4BE32j:
 1184|  14.6k|    static noinline bool noinline_equal_be32(BE32 a, unsigned v) noexcept {
 1185|  14.6k|        const BE32 b = BE32::make(v);
 1186|  14.6k|        return a == b;
 1187|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_be64E4BE64y:
 1188|  14.6k|    static noinline bool noinline_equal_be64(BE64 a, upx_uint64_t v) noexcept {
 1189|  14.6k|        const BE64 b = BE64::make(v);
 1190|  14.6k|        return a == b;
 1191|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le16E4LE16j:
 1192|  14.6k|    static noinline bool noinline_equal_le16(LE16 a, unsigned v) noexcept {
 1193|  14.6k|        const LE16 b = LE16::make(v);
 1194|  14.6k|        return a == b;
 1195|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le32E4LE32j:
 1196|  14.6k|    static noinline bool noinline_equal_le32(LE32 a, unsigned v) noexcept {
 1197|  14.6k|        const LE32 b = LE32::make(v);
 1198|  14.6k|        return a == b;
 1199|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_equal_le64E4LE64y:
 1200|  14.6k|    static noinline bool noinline_equal_le64(LE64 a, upx_uint64_t v) noexcept {
 1201|  14.6k|        const LE64 b = LE64::make(v);
 1202|  14.6k|        return a == b;
 1203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be16E4BE16j:
 1205|  14.6k|    static noinline bool noinline_less_be16(BE16 a, unsigned v) noexcept {
 1206|  14.6k|        const BE16 b = BE16::make(v);
 1207|  14.6k|        return a < b;
 1208|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be32E4BE32j:
 1209|  14.6k|    static noinline bool noinline_less_be32(BE32 a, unsigned v) noexcept {
 1210|  14.6k|        const BE32 b = BE32::make(v);
 1211|  14.6k|        return a < b;
 1212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_be64E4BE64y:
 1213|  14.6k|    static noinline bool noinline_less_be64(BE64 a, upx_uint64_t v) noexcept {
 1214|  14.6k|        const BE64 b = BE64::make(v);
 1215|  14.6k|        return a < b;
 1216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le16E4LE16j:
 1217|  14.6k|    static noinline bool noinline_less_le16(LE16 a, unsigned v) noexcept {
 1218|  14.6k|        const LE16 b = LE16::make(v);
 1219|  14.6k|        return a < b;
 1220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le32E4LE32j:
 1221|  14.6k|    static noinline bool noinline_less_le32(LE32 a, unsigned v) noexcept {
 1222|  14.6k|        const LE32 b = LE32::make(v);
 1223|  14.6k|        return a < b;
 1224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE18noinline_less_le64E4LE64y:
 1225|  14.6k|    static noinline bool noinline_less_le64(LE64 a, upx_uint64_t v) noexcept {
 1226|  14.6k|        const LE64 b = LE64::make(v);
 1227|  14.6k|        return a < b;
 1228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend32Ejj:
 1230|   469k|    static noinline int noinline_sign_extend32(unsigned v, unsigned bits) noexcept {
 1231|   469k|        return sign_extend32(v, bits);
 1232|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_4Ej:
 1237|   234k|    static noinline int noinline_sign_extend32_4(unsigned v) noexcept {
 1238|   234k|        return sign_extend32(v, 4);
 1239|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_8Ej:
 1240|   234k|    static noinline int noinline_sign_extend32_8(unsigned v) noexcept {
 1241|   234k|        return sign_extend32(v, 8);
 1242|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_16Ej:
 1243|   234k|    static noinline int noinline_sign_extend32_16(unsigned v) noexcept {
 1244|   234k|        return sign_extend32(v, 16);
 1245|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_24Ej:
 1246|   234k|    static noinline int noinline_sign_extend32_24(unsigned v) noexcept {
 1247|   234k|        return sign_extend32(v, 24);
 1248|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_32Ej:
 1249|   234k|    static noinline int noinline_sign_extend32_32(unsigned v) noexcept {
 1250|   234k|        return sign_extend32(v, 32);
 1251|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend32Ejj:
 1274|   469k|    static noinline int noinline_xign_extend32(unsigned v, unsigned bits) noexcept {
 1275|   469k|        return xign_extend32(v, bits);
 1276|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend32Ejj:
 1022|  1.64M|static forceinline constexpr int xign_extend32(unsigned v, unsigned bits) noexcept {
 1023|  1.64M|    return ACC_ICAST(int, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|  1.64M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.64M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1024|  1.64M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_4Ej:
 1281|   234k|    static noinline int noinline_xign_extend32_4(unsigned v) noexcept {
 1282|   234k|        return xign_extend32(v, 4);
 1283|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_8Ej:
 1284|   234k|    static noinline int noinline_xign_extend32_8(unsigned v) noexcept {
 1285|   234k|        return xign_extend32(v, 8);
 1286|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_16Ej:
 1287|   234k|    static noinline int noinline_xign_extend32_16(unsigned v) noexcept {
 1288|   234k|        return xign_extend32(v, 16);
 1289|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_24Ej:
 1290|   234k|    static noinline int noinline_xign_extend32_24(unsigned v) noexcept {
 1291|   234k|        return xign_extend32(v, 24);
 1292|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_32Ej:
 1293|   234k|    static noinline int noinline_xign_extend32_32(unsigned v) noexcept {
 1294|   234k|        return xign_extend32(v, 32);
 1295|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend32Ejj:
 1318|   469k|    static noinline int noinline_yign_extend32(unsigned v, unsigned bits) noexcept {
 1319|   469k|        return yign_extend32(v, bits);
 1320|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend32Ejj:
 1029|  1.64M|static forceinline constexpr int yign_extend32(unsigned v, unsigned bits) noexcept {
 1030|  1.64M|    const unsigned sign_bit = 1u << (bits - 1);
 1031|  1.64M|    return ACC_ICAST(int, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  1.64M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.64M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1032|  1.64M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_4Ej:
 1325|   234k|    static noinline int noinline_yign_extend32_4(unsigned v) noexcept {
 1326|   234k|        return yign_extend32(v, 4);
 1327|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_8Ej:
 1328|   234k|    static noinline int noinline_yign_extend32_8(unsigned v) noexcept {
 1329|   234k|        return yign_extend32(v, 8);
 1330|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_16Ej:
 1331|   234k|    static noinline int noinline_yign_extend32_16(unsigned v) noexcept {
 1332|   234k|        return yign_extend32(v, 16);
 1333|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_24Ej:
 1334|   234k|    static noinline int noinline_yign_extend32_24(unsigned v) noexcept {
 1335|   234k|        return yign_extend32(v, 24);
 1336|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_32Ej:
 1337|   234k|    static noinline int noinline_yign_extend32_32(unsigned v) noexcept {
 1338|   234k|        return yign_extend32(v, 32);
 1339|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_x_unsign_extend32Ejj:
 1362|   117k|    static noinline unsigned noinline_x_unsign_extend32(unsigned v, unsigned bits) noexcept {
 1363|   117k|        return x_unsign_extend32(v, bits);
 1364|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_117x_unsign_extend32Ejj:
 1038|   704k|static forceinline constexpr unsigned x_unsign_extend32(unsigned v, unsigned bits) noexcept {
 1039|   704k|    return ACC_ICAST(unsigned, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|   704k|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   704k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1040|   704k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend32_4Ej:
 1370|   117k|    static noinline unsigned noinline_x_unsign_extend32_4(unsigned v) noexcept {
 1371|   117k|        return x_unsign_extend32(v, 4);
 1372|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend32_8Ej:
 1373|   117k|    static noinline unsigned noinline_x_unsign_extend32_8(unsigned v) noexcept {
 1374|   117k|        return x_unsign_extend32(v, 8);
 1375|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_16Ej:
 1376|   117k|    static noinline unsigned noinline_x_unsign_extend32_16(unsigned v) noexcept {
 1377|   117k|        return x_unsign_extend32(v, 16);
 1378|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_24Ej:
 1379|   117k|    static noinline unsigned noinline_x_unsign_extend32_24(unsigned v) noexcept {
 1380|   117k|        return x_unsign_extend32(v, 24);
 1381|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend32_32Ej:
 1382|   117k|    static noinline unsigned noinline_x_unsign_extend32_32(unsigned v) noexcept {
 1383|   117k|        return x_unsign_extend32(v, 32);
 1384|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend64Eyj:
 1233|   469k|    static noinline upx_int64_t noinline_sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1234|   469k|        return sign_extend64(v, bits);
 1235|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_4Ey:
 1252|   234k|    static noinline upx_int64_t noinline_sign_extend64_4(upx_uint64_t v) noexcept {
 1253|   234k|        return sign_extend64(v, 4);
 1254|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_8Ey:
 1255|   234k|    static noinline upx_int64_t noinline_sign_extend64_8(upx_uint64_t v) noexcept {
 1256|   234k|        return sign_extend64(v, 8);
 1257|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_16Ey:
 1258|   234k|    static noinline upx_int64_t noinline_sign_extend64_16(upx_uint64_t v) noexcept {
 1259|   234k|        return sign_extend64(v, 16);
 1260|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_24Ey:
 1261|   234k|    static noinline upx_int64_t noinline_sign_extend64_24(upx_uint64_t v) noexcept {
 1262|   234k|        return sign_extend64(v, 24);
 1263|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_32Ey:
 1264|   234k|    static noinline upx_int64_t noinline_sign_extend64_32(upx_uint64_t v) noexcept {
 1265|   234k|        return sign_extend64(v, 32);
 1266|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_48Ey:
 1267|   234k|    static noinline upx_int64_t noinline_sign_extend64_48(upx_uint64_t v) noexcept {
 1268|   234k|        return sign_extend64(v, 48);
 1269|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_64Ey:
 1270|   234k|    static noinline upx_int64_t noinline_sign_extend64_64(upx_uint64_t v) noexcept {
 1271|   234k|        return sign_extend64(v, 64);
 1272|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend64Eyj:
 1277|   469k|    static noinline upx_int64_t noinline_xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1278|   469k|        return xign_extend64(v, bits);
 1279|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend64Eyj:
 1025|  2.11M|static forceinline constexpr upx_int64_t xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1026|  2.11M|    return ACC_ICAST(upx_int64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  2.11M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.11M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1027|  2.11M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_4Ey:
 1296|   234k|    static noinline upx_int64_t noinline_xign_extend64_4(upx_uint64_t v) noexcept {
 1297|   234k|        return xign_extend64(v, 4);
 1298|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_8Ey:
 1299|   234k|    static noinline upx_int64_t noinline_xign_extend64_8(upx_uint64_t v) noexcept {
 1300|   234k|        return xign_extend64(v, 8);
 1301|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_16Ey:
 1302|   234k|    static noinline upx_int64_t noinline_xign_extend64_16(upx_uint64_t v) noexcept {
 1303|   234k|        return xign_extend64(v, 16);
 1304|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_24Ey:
 1305|   234k|    static noinline upx_int64_t noinline_xign_extend64_24(upx_uint64_t v) noexcept {
 1306|   234k|        return xign_extend64(v, 24);
 1307|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_32Ey:
 1308|   234k|    static noinline upx_int64_t noinline_xign_extend64_32(upx_uint64_t v) noexcept {
 1309|   234k|        return xign_extend64(v, 32);
 1310|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_48Ey:
 1311|   234k|    static noinline upx_int64_t noinline_xign_extend64_48(upx_uint64_t v) noexcept {
 1312|   234k|        return xign_extend64(v, 48);
 1313|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_64Ey:
 1314|   234k|    static noinline upx_int64_t noinline_xign_extend64_64(upx_uint64_t v) noexcept {
 1315|   234k|        return xign_extend64(v, 64);
 1316|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend64Eyj:
 1321|   469k|    static noinline upx_int64_t noinline_yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1322|   469k|        return yign_extend64(v, bits);
 1323|   469k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend64Eyj:
 1033|  2.11M|static forceinline constexpr upx_int64_t yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1034|  2.11M|    const upx_uint64_t sign_bit = upx_uint64_t(1) << (bits - 1);
 1035|  2.11M|    return ACC_ICAST(upx_int64_t, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  2.11M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.11M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1036|  2.11M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_4Ey:
 1340|   234k|    static noinline upx_int64_t noinline_yign_extend64_4(upx_uint64_t v) noexcept {
 1341|   234k|        return yign_extend64(v, 4);
 1342|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_8Ey:
 1343|   234k|    static noinline upx_int64_t noinline_yign_extend64_8(upx_uint64_t v) noexcept {
 1344|   234k|        return yign_extend64(v, 8);
 1345|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_16Ey:
 1346|   234k|    static noinline upx_int64_t noinline_yign_extend64_16(upx_uint64_t v) noexcept {
 1347|   234k|        return yign_extend64(v, 16);
 1348|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_24Ey:
 1349|   234k|    static noinline upx_int64_t noinline_yign_extend64_24(upx_uint64_t v) noexcept {
 1350|   234k|        return yign_extend64(v, 24);
 1351|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_32Ey:
 1352|   234k|    static noinline upx_int64_t noinline_yign_extend64_32(upx_uint64_t v) noexcept {
 1353|   234k|        return yign_extend64(v, 32);
 1354|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_48Ey:
 1355|   234k|    static noinline upx_int64_t noinline_yign_extend64_48(upx_uint64_t v) noexcept {
 1356|   234k|        return yign_extend64(v, 48);
 1357|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_64Ey:
 1358|   234k|    static noinline upx_int64_t noinline_yign_extend64_64(upx_uint64_t v) noexcept {
 1359|   234k|        return yign_extend64(v, 64);
 1360|   234k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_x_unsign_extend64Eyj:
 1366|   117k|        noexcept {
 1367|   117k|        return x_unsign_extend64(v, bits);
 1368|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_117x_unsign_extend64Eyj:
 1042|   939k|                                                            unsigned bits) noexcept {
 1043|   939k|    return ACC_ICAST(upx_uint64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|   939k|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   939k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1044|   939k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend64_4Ey:
 1385|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_4(upx_uint64_t v) noexcept {
 1386|   117k|        return x_unsign_extend64(v, 4);
 1387|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE28noinline_x_unsign_extend64_8Ey:
 1388|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_8(upx_uint64_t v) noexcept {
 1389|   117k|        return x_unsign_extend64(v, 8);
 1390|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_16Ey:
 1391|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_16(upx_uint64_t v) noexcept {
 1392|   117k|        return x_unsign_extend64(v, 16);
 1393|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_24Ey:
 1394|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_24(upx_uint64_t v) noexcept {
 1395|   117k|        return x_unsign_extend64(v, 24);
 1396|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_32Ey:
 1397|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_32(upx_uint64_t v) noexcept {
 1398|   117k|        return x_unsign_extend64(v, 32);
 1399|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_48Ey:
 1400|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_48(upx_uint64_t v) noexcept {
 1401|   117k|        return x_unsign_extend64(v, 48);
 1402|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_x_unsign_extend64_64Ey:
 1403|   117k|    static noinline upx_uint64_t noinline_x_unsign_extend64_64(upx_uint64_t v) noexcept {
 1404|   117k|        return x_unsign_extend64(v, 64);
 1405|   117k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIaEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIhEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIsEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesItEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIiEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIjEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIxEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIyEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesInEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE29noinline_mem_size_valid_bytesIoEEbT_:
 1408|  14.6k|    static noinline bool noinline_mem_size_valid_bytes(T bytes) noexcept {
 1409|  14.6k|        return mem_size_valid_bytes(bytes);
 1410|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_mem_sizeEyy:
 1412|  14.6k|        may_throw {
 1413|  14.6k|        return mem_size(element_size, n);
 1414|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_mem_size_1Ey:
 1415|  14.6k|    static noinline upx_rsize_t noinline_mem_size_1(upx_uint64_t n) may_throw {
 1416|  14.6k|        return mem_size(1, n);
 1417|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE21noinline_mem_size_256Ey:
 1418|  14.6k|    static noinline upx_rsize_t noinline_mem_size_256(upx_uint64_t n) may_throw {
 1419|  14.6k|        return mem_size(256, n);
 1420|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE21noinline_mem_size_473Ey:
 1421|  14.6k|    static noinline upx_rsize_t noinline_mem_size_473(upx_uint64_t n) may_throw {
 1422|  14.6k|        return mem_size(473, n);
 1423|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_mem_size_4_16384Ev:
 1424|  14.6k|    static noinline upx_rsize_t noinline_mem_size_4_16384() may_throw { return mem_size(4, 16384); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE23noinline_mem_size_get_nEyy:
 1426|  14.6k|        may_throw {
 1427|  14.6k|        return mem_size_get_n(element_size, n);
 1428|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIaEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIhEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIsEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffItEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIiEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIjEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIxEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIyEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffInEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_ptrdiffIoEElPKT_S4_:
 1431|  14.6k|    static noinline ptrdiff_t noinline_ptrdiff(const T *a, const T *b) noexcept {
 1432|  14.6k|        return a - b;
 1433|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_eqIvEEbPKT_S4_:
 1435|  14.6k|    static noinline bool noinline_ptr_cmp_eq(const T *a, const T *b) noexcept {
 1436|  14.6k|        return a == b;
 1437|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_neIvEEbPKT_S4_:
 1439|  14.6k|    static noinline bool noinline_ptr_cmp_ne(const T *a, const T *b) noexcept {
 1440|  14.6k|        return a != b;
 1441|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_ltIvEEbPKT_S4_:
 1443|  14.6k|    static noinline bool noinline_ptr_cmp_lt(const T *a, const T *b) noexcept {
 1444|  14.6k|        return a != b && a < b;
  ------------------
  |  Branch (1444:16): [True: 0, False: 14.6k]
  |  Branch (1444:26): [True: 0, False: 0]
  ------------------
 1445|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_gtIvEEbPKT_S4_:
 1447|  14.6k|    static noinline bool noinline_ptr_cmp_gt(const T *a, const T *b) noexcept {
 1448|  14.6k|        return a != b && a > b;
  ------------------
  |  Branch (1448:16): [True: 0, False: 14.6k]
  |  Branch (1448:26): [True: 0, False: 0]
  ------------------
 1449|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_leIvEEbPKT_S4_:
 1451|  14.6k|    static noinline bool noinline_ptr_cmp_le(const T *a, const T *b) noexcept {
 1452|  14.6k|        return a == b || a < b;
  ------------------
  |  Branch (1452:16): [True: 14.6k, False: 0]
  |  Branch (1452:26): [True: 0, False: 0]
  ------------------
 1453|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE19noinline_ptr_cmp_geIvEEbPKT_S4_:
 1455|  14.6k|    static noinline bool noinline_ptr_cmp_ge(const T *a, const T *b) noexcept {
 1456|  14.6k|        return a == b || a > b;
  ------------------
  |  Branch (1456:16): [True: 14.6k, False: 0]
  |  Branch (1456:26): [True: 0, False: 0]
  ------------------
 1457|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE15noinline_strlenEPKc:
 1555|  14.6k|    static noinline size_t noinline_strlen(const char *a) noexcept { return strlen(a); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE15noinline_strcmpEPKcS2_:
 1556|  14.6k|    static noinline int noinline_strcmp(const char *a, const char *b) noexcept {
 1557|  14.6k|        return strcmp(a, b);
 1558|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_strncmpEPKcS2_m:
 1559|  14.6k|    static noinline int noinline_strncmp(const char *a, const char *b, size_t n) noexcept {
 1560|  14.6k|        return strncmp(a, b, n);
 1561|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_28v:
 2036|  14.6k|TEST_CASE("upx::run_time 2") {
 2037|  14.6k|    const upx_ptraddr_t p = upx_ptraddr_t(acc_vget_int(1, 0));
 2038|  14.6k|    const upx_ptraddr_t a = upx_ptraddr_t(acc_vget_int(8, 0));
 2039|  14.6k|    assert_noexcept2(TestCT::noinline_has_single_bit(p));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2040|  14.6k|    assert_noexcept2(TestCT::noinline_align_down(p, a) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2041|  14.6k|    assert_noexcept2(TestCT::noinline_align_down_gap(p, a) == 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2042|  14.6k|    assert_noexcept2(TestCT::noinline_align_up(p, a) == 8);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2043|  14.6k|    assert_noexcept2(TestCT::noinline_align_up_gap(p, a) == 7);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2044|  14.6k|    assert_noexcept2(TestCT::noinline_align_down_16(p) == 0);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2045|  14.6k|    assert_noexcept2(TestCT::noinline_align_down_gap_16(p) == 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2046|  14.6k|    assert_noexcept2(TestCT::noinline_align_up_16(p) == 16);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2047|  14.6k|    assert_noexcept2(TestCT::noinline_align_up_gap_16(p) == 15);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2048|  14.6k|    MemBuffer mb(32);
 2049|  14.6k|    mb.clear();
 2050|  14.6k|    void *const mb_a = TestCT::noinline_ptr_align_up_16(mb.getVoidPtr());
 2051|  14.6k|    {
 2052|  14.6k|        const byte *b = upx::ptr_static_cast<const byte *>(mb_a);
 2053|  14.6k|        assert_noexcept2(ptr_is_aligned(b, 16));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2054|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2055|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) == b + 8);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2056|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2057|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) == b + 16);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2058|  14.6k|    }
 2059|  14.6k|    {
 2060|  14.6k|        upx_uint16_t *b = upx::ptr_static_cast<upx_uint16_t *>(mb_a);
 2061|  14.6k|        assert_noexcept2(ptr_is_aligned(b, 16));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2062|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2063|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) == b + 4);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2064|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2065|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) == b + 8);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2066|  14.6k|    }
 2067|  14.6k|    {
 2068|  14.6k|        upx_uint32_t *b = upx::ptr_static_cast<upx_uint32_t *>(mb_a);
 2069|  14.6k|        assert_noexcept2(ptr_is_aligned(b, 16));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2070|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2071|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) == b + 2);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2072|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2073|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) == b + 4);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2074|  14.6k|    }
 2075|  14.6k|    {
 2076|  14.6k|        upx_uint64_t *b = upx::ptr_static_cast<upx_uint64_t *>(mb_a);
 2077|  14.6k|        assert_noexcept2(ptr_is_aligned(b, 16));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2078|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down(b + 1, a) == b + 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2079|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up(b + 1, a) == b + 1);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2080|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_down_16(b + 1) == b);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2081|  14.6k|        assert_noexcept2(TestCT::noinline_ptr_align_up_16(b + 1) == b + 2);
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2082|  14.6k|    }
 2083|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_has_single_bitEm:
  867|  14.6k|    static noinline bool noinline_has_single_bit(upx_ptraddr_t p) noexcept {
  868|  14.6k|        return upx::has_single_bit(p);
  869|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT19noinline_align_downEmm:
  871|  14.6k|    static noinline upx_ptraddr_t noinline_align_down(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
  872|  14.6k|        return upx::align_down(p, a);
  873|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_align_down_gapEmm:
  875|  14.6k|        noexcept {
  876|  14.6k|        return upx::align_down_gap(p, a);
  877|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_align_upEmm:
  878|  14.6k|    static noinline upx_ptraddr_t noinline_align_up(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
  879|  14.6k|        return upx::align_up(p, a);
  880|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_align_up_gapEmm:
  881|  14.6k|    static noinline upx_ptraddr_t noinline_align_up_gap(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
  882|  14.6k|        return upx::align_up_gap(p, a);
  883|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT22noinline_align_down_16Em:
  885|  14.6k|    static noinline upx_ptraddr_t noinline_align_down_16(upx_ptraddr_t p) noexcept {
  886|  14.6k|        return upx::align_down(p, upx_ptraddr_t(16));
  887|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_align_down_gap_16Em:
  888|  14.6k|    static noinline upx_ptraddr_t noinline_align_down_gap_16(upx_ptraddr_t p) noexcept {
  889|  14.6k|        return upx::align_down_gap(p, upx_ptraddr_t(16));
  890|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT20noinline_align_up_16Em:
  891|  14.6k|    static noinline upx_ptraddr_t noinline_align_up_16(upx_ptraddr_t p) noexcept {
  892|  14.6k|        return upx::align_up(p, upx_ptraddr_t(16));
  893|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_align_up_gap_16Em:
  894|  14.6k|    static noinline upx_ptraddr_t noinline_align_up_gap_16(upx_ptraddr_t p) noexcept {
  895|  14.6k|        return upx::align_up_gap(p, upx_ptraddr_t(16));
  896|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16IvEEPT_S3_:
  912|  14.6k|    static noinline T *noinline_ptr_align_up_16(T * p) noexcept {
  913|  14.6k|        return ptr_align_up(p, 16);
  914|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_ptr_align_downIKhEEPT_S4_m:
  899|  14.6k|    static noinline T *noinline_ptr_align_down(T * p, size_t a) noexcept {
  900|  14.6k|        return ptr_align_down(p, a);
  901|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_ptr_align_upIKhEEPT_S4_m:
  903|  14.6k|    static noinline T *noinline_ptr_align_up(T * p, size_t a) noexcept {
  904|  14.6k|        return ptr_align_up(p, a);
  905|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_ptr_align_down_16IKhEEPT_S4_:
  908|  14.6k|    static noinline T *noinline_ptr_align_down_16(T * p) noexcept {
  909|  14.6k|        return ptr_align_down(p, 16);
  910|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16IKhEEPT_S4_:
  912|  14.6k|    static noinline T *noinline_ptr_align_up_16(T * p) noexcept {
  913|  14.6k|        return ptr_align_up(p, 16);
  914|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_ptr_align_downItEEPT_S3_m:
  899|  14.6k|    static noinline T *noinline_ptr_align_down(T * p, size_t a) noexcept {
  900|  14.6k|        return ptr_align_down(p, a);
  901|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_ptr_align_upItEEPT_S3_m:
  903|  14.6k|    static noinline T *noinline_ptr_align_up(T * p, size_t a) noexcept {
  904|  14.6k|        return ptr_align_up(p, a);
  905|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_ptr_align_down_16ItEEPT_S3_:
  908|  14.6k|    static noinline T *noinline_ptr_align_down_16(T * p) noexcept {
  909|  14.6k|        return ptr_align_down(p, 16);
  910|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16ItEEPT_S3_:
  912|  14.6k|    static noinline T *noinline_ptr_align_up_16(T * p) noexcept {
  913|  14.6k|        return ptr_align_up(p, 16);
  914|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_ptr_align_downIjEEPT_S3_m:
  899|  14.6k|    static noinline T *noinline_ptr_align_down(T * p, size_t a) noexcept {
  900|  14.6k|        return ptr_align_down(p, a);
  901|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_ptr_align_upIjEEPT_S3_m:
  903|  14.6k|    static noinline T *noinline_ptr_align_up(T * p, size_t a) noexcept {
  904|  14.6k|        return ptr_align_up(p, a);
  905|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_ptr_align_down_16IjEEPT_S3_:
  908|  14.6k|    static noinline T *noinline_ptr_align_down_16(T * p) noexcept {
  909|  14.6k|        return ptr_align_down(p, 16);
  910|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16IjEEPT_S3_:
  912|  14.6k|    static noinline T *noinline_ptr_align_up_16(T * p) noexcept {
  913|  14.6k|        return ptr_align_up(p, 16);
  914|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_ptr_align_downIyEEPT_S3_m:
  899|  14.6k|    static noinline T *noinline_ptr_align_down(T * p, size_t a) noexcept {
  900|  14.6k|        return ptr_align_down(p, a);
  901|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_ptr_align_upIyEEPT_S3_m:
  903|  14.6k|    static noinline T *noinline_ptr_align_up(T * p, size_t a) noexcept {
  904|  14.6k|        return ptr_align_up(p, a);
  905|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_ptr_align_down_16IyEEPT_S3_:
  908|  14.6k|    static noinline T *noinline_ptr_align_down_16(T * p) noexcept {
  909|  14.6k|        return ptr_align_down(p, 16);
  910|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_ptr_align_up_16IyEEPT_S3_:
  912|  14.6k|    static noinline T *noinline_ptr_align_up_16(T * p) noexcept {
  913|  14.6k|        return ptr_align_up(p, 16);
  914|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_30v:
 2766|  14.6k|TEST_CASE("codegen cast") {
 2767|  14.6k|    const int n = acc_vget_int(0, 0);
 2768|  14.6k|    {
 2769|  14.6k|        typedef upx_int8_t T;
 2770|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2771|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2772|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2773|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2774|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2775|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2776|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2777|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2778|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2779|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2780|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2781|  14.6k|#endif
 2782|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2783|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2784|  14.6k|    }
 2785|  14.6k|    {
 2786|  14.6k|        typedef upx_uint8_t T;
 2787|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2788|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2789|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2790|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2791|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2792|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2793|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2794|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2795|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2796|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2797|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2798|  14.6k|#endif
 2799|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2800|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2801|  14.6k|    }
 2802|  14.6k|    {
 2803|  14.6k|        typedef upx_int16_t T;
 2804|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2805|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2806|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2807|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2808|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2809|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2810|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2811|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2812|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2813|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2814|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2815|  14.6k|#endif
 2816|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2817|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2818|  14.6k|    }
 2819|  14.6k|    {
 2820|  14.6k|        typedef upx_uint16_t T;
 2821|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2822|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2823|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2824|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2825|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2826|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2827|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2828|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2829|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2830|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2831|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2832|  14.6k|#endif
 2833|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2834|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2835|  14.6k|    }
 2836|  14.6k|    {
 2837|  14.6k|        typedef upx_int32_t T;
 2838|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2839|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2840|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2841|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2842|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2843|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2844|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2845|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2846|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2847|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2848|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2849|  14.6k|#endif
 2850|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2851|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2852|  14.6k|    }
 2853|  14.6k|    {
 2854|  14.6k|        typedef upx_uint32_t T;
 2855|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2856|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2857|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2858|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2859|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2860|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2861|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2862|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2863|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2864|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2865|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2866|  14.6k|#endif
 2867|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2868|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2869|  14.6k|    }
 2870|  14.6k|    {
 2871|  14.6k|        typedef upx_int64_t T;
 2872|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2873|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2874|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2875|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2876|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2877|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2878|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2879|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2880|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2881|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2882|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2883|  14.6k|#endif
 2884|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2885|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2886|  14.6k|    }
 2887|  14.6k|    {
 2888|  14.6k|        typedef upx_uint64_t T;
 2889|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2890|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2891|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2892|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2893|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2894|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2895|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2896|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2897|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2898|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2899|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2900|  14.6k|#endif
 2901|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2902|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2903|  14.6k|    }
 2904|  14.6k|    {
 2905|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2906|  14.6k|        typedef upx_int128_t T;
 2907|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2908|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2909|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2910|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2911|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2912|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2913|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2914|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2915|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2916|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2917|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2918|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2919|  14.6k|#endif
 2920|  14.6k|    }
 2921|  14.6k|    {
 2922|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2923|  14.6k|        typedef upx_uint128_t T;
 2924|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2925|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2926|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2927|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2928|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2929|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2930|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2931|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2932|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2933|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2934|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2935|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2936|  14.6k|#endif
 2937|  14.6k|    }
 2938|  14.6k|    {
 2939|  14.6k|        typedef float T;
 2940|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2941|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2942|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2943|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2944|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2945|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2946|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2947|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2948|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2949|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2950|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2951|  14.6k|#endif
 2952|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2953|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2954|  14.6k|    }
 2955|  14.6k|    {
 2956|  14.6k|        typedef double T;
 2957|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2958|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2959|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2960|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2961|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2962|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2963|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2964|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2965|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2966|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2967|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2968|  14.6k|#endif
 2969|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2970|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2971|  14.6k|    }
 2972|  14.6k|    (void) n;
 2973|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIaaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIahEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIasEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIatEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIaiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIajEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIaxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIayEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIanEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIaoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIafEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIadEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhtEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIhdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIshEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIssEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIstEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIsdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIthEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIttEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castItdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIiaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIihEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIisEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIitEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIiiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIijEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIixEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIiyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIinEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIioEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIifEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIidEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjtEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIjdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxtEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIxdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIysEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIytEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIynEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIyfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIydEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIntEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIniEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castInfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIndEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIoaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIohEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIosEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIotEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIoiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIojEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIoxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIoyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIonEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIooEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIofEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIodEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIftEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIffEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIfdEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdaEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdhEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdsEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdtEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdiEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdjEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdxEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdyEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdnEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdoEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIdfEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast13noinline_castIddEET_T0_:
 2097|  14.6k|    static noinline To noinline_cast(From from) noexcept {
 2098|  14.6k|        return To(from);
 2099|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_32v:
 2975|  14.6k|TEST_CASE("codegen cast 2+3") {
 2976|  14.6k|#define noinline_cast noinline_cast3
 2977|  14.6k|    const int n = acc_vget_int(0, 0);
 2978|  14.6k|    {
 2979|  14.6k|        typedef upx_int8_t T;
 2980|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2981|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2982|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2983|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2984|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2985|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2986|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2987|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2988|  14.6k|#if (__SIZEOF_INT128__ == 16)
 2989|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2990|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2991|  14.6k|#endif
 2992|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2993|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2994|  14.6k|    }
 2995|  14.6k|    {
 2996|  14.6k|        typedef upx_uint8_t T;
 2997|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2998|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 2999|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3000|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3001|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3002|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3003|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3004|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3005|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3006|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3007|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3008|  14.6k|#endif
 3009|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3010|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3011|  14.6k|    }
 3012|  14.6k|    {
 3013|  14.6k|        typedef upx_int16_t T;
 3014|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3015|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3016|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3017|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3018|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3019|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3020|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3021|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3022|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3023|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3024|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3025|  14.6k|#endif
 3026|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3027|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3028|  14.6k|    }
 3029|  14.6k|    {
 3030|  14.6k|        typedef upx_uint16_t T;
 3031|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3032|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3033|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3034|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3035|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3036|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3037|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3038|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3039|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3040|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3041|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3042|  14.6k|#endif
 3043|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3044|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3045|  14.6k|    }
 3046|  14.6k|    {
 3047|  14.6k|        typedef upx_int32_t T;
 3048|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3049|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3050|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3051|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3052|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3053|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3054|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3055|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3056|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3057|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3058|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3059|  14.6k|#endif
 3060|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3061|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3062|  14.6k|    }
 3063|  14.6k|    {
 3064|  14.6k|        typedef upx_uint32_t T;
 3065|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3066|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3067|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3068|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3069|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3070|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3071|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3072|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3073|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3074|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3075|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3076|  14.6k|#endif
 3077|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3078|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3079|  14.6k|    }
 3080|  14.6k|    {
 3081|  14.6k|        typedef upx_int64_t T;
 3082|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3083|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3084|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3085|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3086|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3087|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3088|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3089|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3090|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3091|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3092|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3093|  14.6k|#endif
 3094|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3095|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3096|  14.6k|    }
 3097|  14.6k|    {
 3098|  14.6k|        typedef upx_uint64_t T;
 3099|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3100|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3101|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3102|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3103|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3104|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3105|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3106|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3107|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3108|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3109|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3110|  14.6k|#endif
 3111|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3112|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3113|  14.6k|    }
 3114|  14.6k|    {
 3115|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3116|  14.6k|        typedef upx_int128_t T;
 3117|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3118|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3119|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3120|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3121|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3122|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3123|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3124|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3125|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3126|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3127|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3128|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3129|  14.6k|#endif
 3130|  14.6k|    }
 3131|  14.6k|    {
 3132|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3133|  14.6k|        typedef upx_uint128_t T;
 3134|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3135|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3136|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3137|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3138|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3139|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3140|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3141|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3142|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3143|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3144|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3145|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3146|  14.6k|#endif
 3147|  14.6k|    }
 3148|  14.6k|    {
 3149|  14.6k|        typedef float T;
 3150|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3151|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3152|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3153|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3154|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3155|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3156|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3157|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3158|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3159|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3160|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3161|  14.6k|#endif
 3162|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3163|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3164|  14.6k|    }
 3165|  14.6k|    {
 3166|  14.6k|        typedef double T;
 3167|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3168|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint8_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3169|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3170|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint16_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3171|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3172|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint32_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3173|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3174|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint64_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3175|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3176|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_int128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3177|  14.6k|        assert_noexcept2((TestCast::noinline_cast<T>(upx_uint128_t(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3178|  14.6k|#endif
 3179|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(float(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3180|  14.6k|        assert_noexcept2((TestCast::noinline_cast2<T>(double(n), n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3181|  14.6k|    }
 3182|  14.6k|    (void) n;
 3183|  14.6k|#undef noinline_cast
 3184|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IaaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IahEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IasEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IatEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IaiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IajEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IaxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IayEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IanEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IaoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IafEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IadEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhtEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IhoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IhfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IhdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IshEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IssEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IstEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IsoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IsfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IsdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IthEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IttEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3ItoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2ItfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2ItdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IiaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IihEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IisEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IitEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IiiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IijEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IixEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IiyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IinEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IioEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IifEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IidEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjtEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IjoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IjfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IjdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxtEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IxoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IxfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IxdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IysEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IytEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IynEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IyoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IyfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IydEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IntEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IniEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3InfEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IndEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IoaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IohEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IosEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IotEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IoiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IojEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IoxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IoyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IonEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IooEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IofEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IodEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IftEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IfoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IffEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IfdEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdaEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdhEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdsEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdtEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdiEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdjEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdxEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdyEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdnEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast3IdoEET_T0_o:
 2106|  14.6k|    static noinline To noinline_cast3(From, upx_uint128_t from) noexcept {
 2107|  14.6k|        return To(From(from));
 2108|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IdfEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18TestCast14noinline_cast2IddEET_T0_y:
 2101|  14.6k|    static noinline To noinline_cast2(From, upx_uint64_t from) noexcept {
 2102|  14.6k|        return To(From(from));
 2103|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_34v:
 3186|  14.6k|TEST_CASE("codegen constant") {
 3187|  14.6k|    const int n = acc_vget_int(0, 0);
 3188|  14.6k|    const int a = acc_vget_int(0, 0);
 3189|  14.6k|    const int b = acc_vget_int(1, 0);
 3190|  14.6k|    const bool f = acc_vget_int(0, 0);
 3191|  14.6k|    const bool t = acc_vget_int(1, 0);
 3192|       |#if defined(__m68k__) && (__GNUC__ == 15)
 3193|       |    // @COMPILER_BUG @GCC_BUG
 3194|       |    if (acc_vget_int(1, 0))
 3195|       |        return;
 3196|       |#endif
 3197|  14.6k|    {
 3198|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3199|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3200|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3201|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3202|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3203|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3204|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3205|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3206|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3207|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3208|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3209|  14.6k|#endif
 3210|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3211|  14.6k|        assert_noexcept2((TestConstant::noinline_eq(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3212|       |
 3213|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3214|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3215|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3216|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3217|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3218|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3219|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3220|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3221|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3222|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3223|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3224|  14.6k|#endif
 3225|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3226|  14.6k|        assert_noexcept2((TestConstant::noinline_ne(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3227|       |
 3228|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3229|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3230|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3231|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3232|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3233|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3234|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3235|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3236|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3237|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3238|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3239|  14.6k|#endif
 3240|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3241|  14.6k|        assert_noexcept2((TestConstant::noinline_lt(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3242|       |
 3243|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3244|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3245|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3246|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3247|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3248|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3249|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3250|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3251|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3252|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3253|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3254|  14.6k|#endif
 3255|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3256|  14.6k|        assert_noexcept2((TestConstant::noinline_gt(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3257|       |
 3258|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3259|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3260|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3261|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3262|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3263|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3264|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3265|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3266|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3267|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3268|  14.6k|        assert_noexcept2((TestConstant::noinline_le(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3269|  14.6k|#endif
 3270|  14.6k|        assert_noexcept2((TestConstant::noinline_le(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3271|  14.6k|        assert_noexcept2((TestConstant::noinline_le(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3272|       |
 3273|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3274|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3275|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3276|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3277|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3278|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3279|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3280|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3281|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3282|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3283|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3284|  14.6k|#endif
 3285|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3286|  14.6k|        assert_noexcept2((TestConstant::noinline_ge(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3287|  14.6k|    }
 3288|  14.6k|    {
 3289|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3290|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3291|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3292|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3293|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3294|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3295|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3296|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3297|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3298|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3299|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3300|  14.6k|#endif
 3301|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3302|  14.6k|        assert_noexcept2((TestConstant::noinline_zero(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3303|       |
 3304|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3305|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3306|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3307|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3308|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3309|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3310|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3311|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3312|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3313|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_int128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3314|  14.6k|        assert_noexcept2((TestConstant::noinline_one(upx_uint128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3315|  14.6k|#endif
 3316|  14.6k|        assert_noexcept2((TestConstant::noinline_one(float(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3317|  14.6k|        assert_noexcept2((TestConstant::noinline_one(double(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3318|       |
 3319|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3320|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3321|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3322|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3323|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3324|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3325|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3326|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3327|  14.6k|            (TestConstant::noinline_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 3328|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3329|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3330|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3331|  14.6k|#endif
 3332|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(float(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3333|  14.6k|        assert_noexcept2((TestConstant::noinline_minus_one(double(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3334|       |
 3335|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3336|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3337|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3338|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3339|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3340|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3341|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3342|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3343|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(float(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3344|  14.6k|        assert_noexcept2((TestConstant::noinline_0xff(double(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3345|       |
 3346|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3347|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3348|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3349|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3350|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3351|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3352|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3353|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3354|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(float(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3355|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffff(double(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3356|       |
 3357|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3358|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3359|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3360|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3361|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3362|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3363|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3364|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3365|       |        // assert_noexcept2((TestConstant::noinline_0xffffffff(float(n)) == 0x100000000ll));
 3366|  14.6k|        assert_noexcept2((TestConstant::noinline_0xffffffff(double(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3367|       |
 3368|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3369|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3370|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3371|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3372|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3373|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3374|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3375|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3376|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3377|  14.6k|        assert_noexcept2((TestConstant::noinline_add_zero(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3378|       |
 3379|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3380|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3381|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3382|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3383|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3384|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3385|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3386|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3387|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3388|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3389|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3390|  14.6k|#endif
 3391|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(float(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3392|  14.6k|        assert_noexcept2((TestConstant::noinline_add_one(double(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3393|       |
 3394|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3395|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3396|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3397|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3398|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3399|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3400|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3401|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3402|  14.6k|            (TestConstant::noinline_add_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 3403|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3404|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3405|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3406|  14.6k|#endif
 3407|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(float(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3408|  14.6k|        assert_noexcept2((TestConstant::noinline_add_minus_one(double(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3409|       |
 3410|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3411|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3412|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3413|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3414|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3415|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3416|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3417|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3418|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(float(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3419|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xff(double(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3420|       |
 3421|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3422|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3423|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3424|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3425|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3426|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3427|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3428|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3429|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(float(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3430|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffff(double(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3431|       |
 3432|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3433|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3434|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3435|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3436|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3437|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3438|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3439|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3440|       |        // assert_noexcept2((TestConstant::noinline_add_0xffffffff(float(n)) == 0x100000000ll));
 3441|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(double(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3442|       |
 3443|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int8_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3444|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint8_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3445|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int16_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3446|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint16_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3447|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int32_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3448|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint32_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3449|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int64_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3450|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint64_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3451|       |
 3452|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int8_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3453|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint8_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3454|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int16_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3455|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint16_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3456|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int32_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3457|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint32_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3458|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int64_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3459|  14.6k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint64_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3460|       |
 3461|  14.6k|        assert_noexcept2((TestConstant::noinline_and(f, t) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3462|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3463|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3464|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3465|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3466|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3467|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3468|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3469|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3470|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3471|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3472|  14.6k|        assert_noexcept2((TestConstant::noinline_and(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3473|  14.6k|#endif
 3474|       |
 3475|  14.6k|        assert_noexcept2((TestConstant::noinline_or(f, t) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3476|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3477|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3478|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3479|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3480|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3481|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3482|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3483|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3484|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3485|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3486|  14.6k|        assert_noexcept2((TestConstant::noinline_or(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3487|  14.6k|#endif
 3488|       |
 3489|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(f, t) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3490|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3491|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3492|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3493|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3494|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3495|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3496|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3497|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3498|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3499|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3500|  14.6k|        assert_noexcept2((TestConstant::noinline_xor(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3501|  14.6k|#endif
 3502|       |
 3503|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3504|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3505|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3506|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3507|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3508|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3509|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3510|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3511|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3512|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3513|  14.6k|        assert_noexcept2((TestConstant::noinline_andn(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3514|  14.6k|#endif
 3515|       |
 3516|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_int8_t(a), upx_int8_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3517|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_uint8_t(a), upx_uint8_t(b)) == 254));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3518|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_int16_t(a), upx_int16_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3519|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_uint16_t(a), upx_uint16_t(b)) == 65534));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3520|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_int32_t(a), upx_int32_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3521|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_uint32_t(a), upx_uint32_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3522|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_int64_t(a), upx_int64_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3523|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_uint64_t(a), upx_uint64_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3524|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3525|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_int128_t(a), upx_int128_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3526|  14.6k|        assert_noexcept2((TestConstant::noinline_orn(upx_uint128_t(a), upx_uint128_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3527|  14.6k|#endif
 3528|       |
 3529|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_int8_t(a), upx_int8_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3530|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_uint8_t(a), upx_uint8_t(b)) == 254));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3531|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_int16_t(a), upx_int16_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3532|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_uint16_t(a), upx_uint16_t(b)) == 65534));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3533|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_int32_t(a), upx_int32_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3534|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_uint32_t(a), upx_uint32_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3535|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_int64_t(a), upx_int64_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3536|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_uint64_t(a), upx_uint64_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3537|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3538|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_int128_t(a), upx_int128_t(b)) == -2));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3539|  14.6k|        assert_noexcept2((TestConstant::noinline_xorn(upx_uint128_t(a), upx_uint128_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3540|  14.6k|#endif
 3541|       |
 3542|  14.6k|        assert_noexcept2((TestConstant::noinline_and_or(f, t, f, t) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3543|  14.6k|        assert_noexcept2((TestConstant::noinline_or_and(f, t, f, t) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3544|       |
 3545|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_int8_t(a), upx_int8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3546|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_uint8_t(a), upx_uint8_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3547|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_int16_t(a), upx_int16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3548|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_uint16_t(a), upx_uint16_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3549|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_int32_t(a), upx_int32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3550|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_uint32_t(a), upx_uint32_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3551|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_int64_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3552|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_uint64_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3553|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3554|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_int128_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3555|  14.6k|        assert_noexcept2((TestConstant::noinline_add(upx_uint128_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3556|  14.6k|#endif
 3557|  14.6k|        assert_noexcept2((TestConstant::noinline_add(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3558|  14.6k|        assert_noexcept2((TestConstant::noinline_add(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3559|       |
 3560|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_int8_t(a), upx_int8_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3561|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_uint8_t(a), upx_uint8_t(b)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3562|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_int16_t(a), upx_int16_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3563|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_uint16_t(a), upx_uint16_t(b)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3564|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_int32_t(a), upx_int32_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3565|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3566|  14.6k|            (TestConstant::noinline_sub(upx_uint32_t(a), upx_uint32_t(b)) == 0xffffffff));
 3567|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_int64_t(a), upx_int64_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3568|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_uint64_t(a), upx_uint64_t(b)) ==
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3569|  14.6k|                          0xffffffffffffffffULL));
 3570|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3571|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_int128_t(a), upx_int128_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3572|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(upx_uint128_t(a), upx_uint128_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3573|  14.6k|#endif
 3574|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(float(a), float(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3575|  14.6k|        assert_noexcept2((TestConstant::noinline_sub(double(a), double(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3576|       |
 3577|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3578|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3579|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3580|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3581|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3582|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3583|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3584|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3585|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3586|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3587|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3588|  14.6k|#endif
 3589|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3590|  14.6k|        assert_noexcept2((TestConstant::noinline_mul(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3591|       |
 3592|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3593|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3594|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3595|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3596|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3597|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3598|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3599|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3600|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3601|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3602|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3603|  14.6k|#endif
 3604|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(float(a), float(b)) != 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3605|  14.6k|        assert_noexcept2((TestConstant::noinline_mul_neg(double(a), double(b)) != 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3606|       |
 3607|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3608|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3609|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3610|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3611|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3612|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3613|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3614|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3615|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3616|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3617|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3618|  14.6k|#endif
 3619|  14.6k|        assert_noexcept2((TestConstant::noinline_div(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3620|  14.6k|        assert_noexcept2((TestConstant::noinline_div(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3621|       |
 3622|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3623|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3624|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3625|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3626|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3627|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3628|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3629|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3630|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3631|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3632|  14.6k|        assert_noexcept2((TestConstant::noinline_mod(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3633|  14.6k|#endif
 3634|       |
 3635|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int8_t(a), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3636|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint8_t(a), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3637|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int16_t(a), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3638|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint16_t(a), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3639|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int32_t(a), upx_int32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3640|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint32_t(a), upx_uint32_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3641|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int64_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3642|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint64_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3643|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3644|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_int128_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3645|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod(upx_uint128_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3646|  14.6k|#endif
 3647|       |
 3648|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3649|  14.6k|        assert_noexcept2((TestConstant::noinline_add2(upx_int128_t(a), upx_int64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3650|  14.6k|        assert_noexcept2((TestConstant::noinline_add2(upx_uint128_t(a), upx_uint64_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3651|  14.6k|        assert_noexcept2((TestConstant::noinline_sub2(upx_int128_t(a), upx_int64_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3652|  14.6k|        assert_noexcept2((TestConstant::noinline_sub2(upx_uint128_t(a), upx_uint64_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3653|  14.6k|        assert_noexcept2((TestConstant::noinline_mul2(upx_int128_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3654|  14.6k|        assert_noexcept2((TestConstant::noinline_mul2(upx_uint128_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3655|  14.6k|        assert_noexcept2((TestConstant::noinline_div2(upx_int128_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3656|  14.6k|        assert_noexcept2((TestConstant::noinline_div2(upx_uint128_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3657|  14.6k|        assert_noexcept2((TestConstant::noinline_mod2(upx_int128_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3658|  14.6k|        assert_noexcept2((TestConstant::noinline_mod2(upx_uint128_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3659|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod2(upx_int128_t(a), upx_int64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3660|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod2(upx_uint128_t(a), upx_uint64_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3661|  14.6k|#endif
 3662|       |
 3663|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3664|  14.6k|        assert_noexcept2((TestConstant::noinline_add3(upx_int64_t(a), upx_int128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3665|  14.6k|        assert_noexcept2((TestConstant::noinline_add3(upx_uint64_t(a), upx_uint128_t(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3666|  14.6k|        assert_noexcept2((TestConstant::noinline_sub3(upx_int64_t(a), upx_int128_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3667|  14.6k|        assert_noexcept2((TestConstant::noinline_sub3(upx_uint64_t(a), upx_uint128_t(b)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3668|  14.6k|        assert_noexcept2((TestConstant::noinline_mul3(upx_int64_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3669|  14.6k|        assert_noexcept2((TestConstant::noinline_mul3(upx_uint64_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3670|  14.6k|        assert_noexcept2((TestConstant::noinline_div3(upx_int64_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3671|  14.6k|        assert_noexcept2((TestConstant::noinline_div3(upx_uint64_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3672|  14.6k|        assert_noexcept2((TestConstant::noinline_mod3(upx_int64_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3673|  14.6k|        assert_noexcept2((TestConstant::noinline_mod3(upx_uint64_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3674|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod3(upx_int64_t(a), upx_int128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3675|  14.6k|        assert_noexcept2((TestConstant::noinline_divmod3(upx_uint64_t(a), upx_uint128_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3676|  14.6k|#endif
 3677|       |
 3678|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3679|  14.6k|            (TestConstant::noinline_add_mul(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 3680|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3681|  14.6k|            (TestConstant::noinline_add_mul(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 3682|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3683|  14.6k|            (TestConstant::noinline_add_mul(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 3684|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3685|  14.6k|                                                         upx_uint16_t(b)) == 0));
 3686|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3687|  14.6k|            (TestConstant::noinline_add_mul(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 3688|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3689|  14.6k|                                                         upx_uint32_t(b)) == 0));
 3690|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3691|  14.6k|            (TestConstant::noinline_add_mul(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 3692|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3693|  14.6k|                                                         upx_uint64_t(b)) == 0));
 3694|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3695|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_int128_t(n), upx_int128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3696|  14.6k|                                                         upx_int128_t(b)) == 0));
 3697|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(upx_uint128_t(n), upx_uint128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3698|  14.6k|                                                         upx_uint128_t(b)) == 0));
 3699|  14.6k|#endif
 3700|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(float(n), float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3701|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mul(double(n), double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3702|       |
 3703|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3704|  14.6k|            (TestConstant::noinline_add_div(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 3705|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3706|  14.6k|            (TestConstant::noinline_add_div(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 3707|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3708|  14.6k|            (TestConstant::noinline_add_div(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 3709|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3710|  14.6k|                                                         upx_uint16_t(b)) == 0));
 3711|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3712|  14.6k|            (TestConstant::noinline_add_div(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 3713|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3714|  14.6k|                                                         upx_uint32_t(b)) == 0));
 3715|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3716|  14.6k|            (TestConstant::noinline_add_div(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 3717|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3718|  14.6k|                                                         upx_uint64_t(b)) == 0));
 3719|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3720|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(upx_int128_t(n), upx_int128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3721|  14.6k|                                                         upx_int128_t(b)) == 0));
 3722|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(upx_uint128_t(n), upx_uint128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3723|  14.6k|                                                         upx_uint128_t(b)) == 0));
 3724|  14.6k|#endif
 3725|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(float(n), float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3726|  14.6k|        assert_noexcept2((TestConstant::noinline_add_div(double(n), double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3727|       |
 3728|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3729|  14.6k|            (TestConstant::noinline_add_mod(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 3730|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3731|  14.6k|            (TestConstant::noinline_add_mod(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 3732|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3733|  14.6k|            (TestConstant::noinline_add_mod(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 3734|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3735|  14.6k|                                                         upx_uint16_t(b)) == 0));
 3736|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3737|  14.6k|            (TestConstant::noinline_add_mod(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 3738|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3739|  14.6k|                                                         upx_uint32_t(b)) == 0));
 3740|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3741|  14.6k|            (TestConstant::noinline_add_mod(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 3742|  14.6k|        assert_noexcept2((TestConstant::noinline_add_mod(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3743|  14.6k|                                                         upx_uint64_t(b)) == 0));
 3744|       |
 3745|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3746|  14.6k|            (TestConstant::noinline_add_divmod(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 3747|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint8_t(n), upx_uint8_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3748|  14.6k|                                                            upx_uint8_t(b)) == 0));
 3749|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int16_t(n), upx_int16_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3750|  14.6k|                                                            upx_int16_t(b)) == 0));
 3751|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint16_t(n), upx_uint16_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3752|  14.6k|                                                            upx_uint16_t(b)) == 0));
 3753|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int32_t(n), upx_int32_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3754|  14.6k|                                                            upx_int32_t(b)) == 0));
 3755|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint32_t(n), upx_uint32_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3756|  14.6k|                                                            upx_uint32_t(b)) == 0));
 3757|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_int64_t(n), upx_int64_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3758|  14.6k|                                                            upx_int64_t(b)) == 0));
 3759|  14.6k|        assert_noexcept2((TestConstant::noinline_add_divmod(upx_uint64_t(n), upx_uint64_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3760|  14.6k|                                                            upx_uint64_t(b)) == 0));
 3761|  14.6k|    }
 3762|  14.6k|    {
 3763|  14.6k|        typedef size_t T;
 3764|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_0<T>() == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3765|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_1<T>(n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3766|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_2<T>(n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3767|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_3<T>(n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3768|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_4<T>(n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3769|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_5<T>(n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3770|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_6<T>(n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3771|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_7<T>(n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3772|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_8<T>(n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3773|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_9<T>(n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3774|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_10<T>(n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3775|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_11<T>(n, n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3776|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3777|  14.6k|            (TestConstant::noinline_xadd_12<T>(n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3778|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3779|  14.6k|            (TestConstant::noinline_xadd_13<T>(n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3780|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3781|  14.6k|            (TestConstant::noinline_xadd_14<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3782|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3783|  14.6k|            (TestConstant::noinline_xadd_15<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3784|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_16<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3785|  14.6k|                                                            n, n, n) == 0));
 3786|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_17<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3787|  14.6k|                                                            n, n, n, n) == 0));
 3788|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_18<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3789|  14.6k|                                                            n, n, n, n, n) == 0));
 3790|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_19<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3791|  14.6k|                                                            n, n, n, n, n, n) == 0));
 3792|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_20<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3793|  14.6k|                                                            n, n, n, n, n, n, n) == 0));
 3794|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_21<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3795|  14.6k|                                                            n, n, n, n, n, n, n, n) == 0));
 3796|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_22<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3797|  14.6k|                                                            n, n, n, n, n, n, n, n, n) == 0));
 3798|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_23<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3799|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n) == 0));
 3800|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_24<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3801|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n, n) == 0));
 3802|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3803|  14.6k|            (TestConstant::noinline_xadd_25<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3804|  14.6k|                                               n, n, n, n, n, n, n) == 0));
 3805|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3806|  14.6k|            (TestConstant::noinline_xadd_26<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3807|  14.6k|                                               n, n, n, n, n, n, n, n) == 0));
 3808|  14.6k|    }
 3809|  14.6k|    {
 3810|  14.6k|        typedef float T;
 3811|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_0<T>() == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3812|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_1<T>(n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3813|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_2<T>(n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3814|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_3<T>(n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3815|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_4<T>(n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3816|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_5<T>(n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3817|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_6<T>(n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3818|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_7<T>(n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3819|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_8<T>(n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3820|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_9<T>(n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3821|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_10<T>(n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3822|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_11<T>(n, n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3823|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3824|  14.6k|            (TestConstant::noinline_xadd_12<T>(n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3825|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3826|  14.6k|            (TestConstant::noinline_xadd_13<T>(n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3827|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3828|  14.6k|            (TestConstant::noinline_xadd_14<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3829|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3830|  14.6k|            (TestConstant::noinline_xadd_15<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3831|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_16<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3832|  14.6k|                                                            n, n, n) == 0));
 3833|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_17<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3834|  14.6k|                                                            n, n, n, n) == 0));
 3835|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_18<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3836|  14.6k|                                                            n, n, n, n, n) == 0));
 3837|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_19<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3838|  14.6k|                                                            n, n, n, n, n, n) == 0));
 3839|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_20<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3840|  14.6k|                                                            n, n, n, n, n, n, n) == 0));
 3841|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_21<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3842|  14.6k|                                                            n, n, n, n, n, n, n, n) == 0));
 3843|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_22<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3844|  14.6k|                                                            n, n, n, n, n, n, n, n, n) == 0));
 3845|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_23<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3846|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n) == 0));
 3847|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_24<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3848|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n, n) == 0));
 3849|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3850|  14.6k|            (TestConstant::noinline_xadd_25<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3851|  14.6k|                                               n, n, n, n, n, n, n) == 0));
 3852|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3853|  14.6k|            (TestConstant::noinline_xadd_26<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3854|  14.6k|                                               n, n, n, n, n, n, n, n) == 0));
 3855|  14.6k|    }
 3856|  14.6k|    {
 3857|  14.6k|        typedef double T;
 3858|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_0<T>() == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3859|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_1<T>(n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3860|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_2<T>(n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3861|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_3<T>(n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3862|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_4<T>(n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3863|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_5<T>(n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3864|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_6<T>(n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3865|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_7<T>(n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3866|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_8<T>(n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3867|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_9<T>(n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3868|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_10<T>(n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3869|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_11<T>(n, n, n, n, n, n, n, n, n, n, n) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3870|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3871|  14.6k|            (TestConstant::noinline_xadd_12<T>(n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3872|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3873|  14.6k|            (TestConstant::noinline_xadd_13<T>(n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3874|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3875|  14.6k|            (TestConstant::noinline_xadd_14<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3876|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3877|  14.6k|            (TestConstant::noinline_xadd_15<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n) == 0));
 3878|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_16<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3879|  14.6k|                                                            n, n, n) == 0));
 3880|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_17<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3881|  14.6k|                                                            n, n, n, n) == 0));
 3882|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_18<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3883|  14.6k|                                                            n, n, n, n, n) == 0));
 3884|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_19<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3885|  14.6k|                                                            n, n, n, n, n, n) == 0));
 3886|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_20<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3887|  14.6k|                                                            n, n, n, n, n, n, n) == 0));
 3888|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_21<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3889|  14.6k|                                                            n, n, n, n, n, n, n, n) == 0));
 3890|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_22<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3891|  14.6k|                                                            n, n, n, n, n, n, n, n, n) == 0));
 3892|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_23<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3893|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n) == 0));
 3894|  14.6k|        assert_noexcept2((TestConstant::noinline_xadd_24<T>(n, n, n, n, n, n, n, n, n, n, n, n, n,
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3895|  14.6k|                                                            n, n, n, n, n, n, n, n, n, n, n) == 0));
 3896|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3897|  14.6k|            (TestConstant::noinline_xadd_25<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3898|  14.6k|                                               n, n, n, n, n, n, n) == 0));
 3899|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3900|  14.6k|            (TestConstant::noinline_xadd_26<T>(n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n, n,
 3901|  14.6k|                                               n, n, n, n, n, n, n, n) == 0));
 3902|  14.6k|    }
 3903|  14.6k|    {
 3904|  14.6k|        assert_noexcept2((TestConstant::noinline_return_1().a[0] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3905|  14.6k|        assert_noexcept2((TestConstant::noinline_return_2().a[1] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3906|  14.6k|        assert_noexcept2((TestConstant::noinline_return_3().a[2] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3907|  14.6k|        assert_noexcept2((TestConstant::noinline_return_4().a[3] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3908|  14.6k|        assert_noexcept2((TestConstant::noinline_return_5().a[4] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3909|  14.6k|        assert_noexcept2((TestConstant::noinline_return_6().a[5] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3910|  14.6k|        assert_noexcept2((TestConstant::noinline_return_7().a[6] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3911|  14.6k|        assert_noexcept2((TestConstant::noinline_return_8().a[7] == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3912|  14.6k|    }
 3913|  14.6k|    {
 3914|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3915|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3916|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3917|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3918|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3919|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3920|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3921|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3922|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3923|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3924|  14.6k|        assert_noexcept2((TestConstant::noinline_be0(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3925|  14.6k|#endif
 3926|       |
 3927|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3928|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3929|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3930|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3931|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3932|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3933|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3934|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3935|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3936|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3937|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben0(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3938|  14.6k|#endif
 3939|       |
 3940|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3941|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3942|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3943|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3944|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3945|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3946|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3947|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3948|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3949|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3950|  14.6k|        assert_noexcept2((!TestConstant::noinline_be1(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3951|  14.6k|#endif
 3952|       |
 3953|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3954|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3955|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3956|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3957|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3958|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3959|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3960|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3961|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3962|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3963|  14.6k|        assert_noexcept2((!TestConstant::noinline_ben1(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3964|  14.6k|#endif
 3965|       |
 3966|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3967|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3968|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3969|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3970|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3971|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3972|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3973|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3974|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3975|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3976|  14.6k|        assert_noexcept2((TestConstant::noinline_be2(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3977|  14.6k|#endif
 3978|       |
 3979|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3980|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3981|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3982|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3983|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3984|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3985|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3986|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3987|  14.6k|#if (__SIZEOF_INT128__ == 16)
 3988|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3989|  14.6k|        assert_noexcept2((TestConstant::noinline_ben2(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3990|  14.6k|#endif
 3991|       |
 3992|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3993|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3994|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3995|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3996|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3997|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3998|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 3999|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4000|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4001|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4002|  14.6k|        assert_noexcept2((TestConstant::noinline_bx2(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4003|  14.6k|#endif
 4004|       |
 4005|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_int8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4006|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_uint8_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4007|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_int16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4008|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_uint16_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4009|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_int32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4010|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_uint32_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4011|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_int64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4012|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_uint64_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4013|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4014|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_int128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4015|  14.6k|        assert_noexcept2((TestConstant::noinline_bxn2(upx_uint128_t(n))));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4016|  14.6k|#endif
 4017|  14.6k|    }
 4018|  14.6k|    {
 4019|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4020|  14.6k|            (TestConstant::noinline_equ1(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 0));
 4021|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4022|  14.6k|            (TestConstant::noinline_equ1(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 0));
 4023|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4024|  14.6k|            (TestConstant::noinline_equ1(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 0));
 4025|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4026|  14.6k|            (TestConstant::noinline_equ1(upx_uint16_t(n), upx_uint16_t(a), upx_uint16_t(b)) == 0));
 4027|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4028|  14.6k|            (TestConstant::noinline_equ1(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 0));
 4029|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4030|  14.6k|            (TestConstant::noinline_equ1(upx_uint32_t(n), upx_uint32_t(a), upx_uint32_t(b)) == 0));
 4031|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4032|  14.6k|            (TestConstant::noinline_equ1(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 0));
 4033|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4034|  14.6k|            (TestConstant::noinline_equ1(upx_uint64_t(n), upx_uint64_t(a), upx_uint64_t(b)) == 0));
 4035|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4036|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4037|  14.6k|            (TestConstant::noinline_equ1(upx_int128_t(n), upx_int128_t(a), upx_int128_t(b)) == 0));
 4038|  14.6k|        assert_noexcept2((TestConstant::noinline_equ1(upx_uint128_t(n), upx_uint128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4039|  14.6k|                                                      upx_uint128_t(b)) == 0));
 4040|  14.6k|#endif
 4041|       |
 4042|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4043|  14.6k|            (TestConstant::noinline_equ2(upx_int8_t(n), upx_int8_t(a), upx_int8_t(b)) == 1));
 4044|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4045|  14.6k|            (TestConstant::noinline_equ2(upx_uint8_t(n), upx_uint8_t(a), upx_uint8_t(b)) == 1));
 4046|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4047|  14.6k|            (TestConstant::noinline_equ2(upx_int16_t(n), upx_int16_t(a), upx_int16_t(b)) == 1));
 4048|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4049|  14.6k|            (TestConstant::noinline_equ2(upx_uint16_t(n), upx_uint16_t(a), upx_uint16_t(b)) == 1));
 4050|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4051|  14.6k|            (TestConstant::noinline_equ2(upx_int32_t(n), upx_int32_t(a), upx_int32_t(b)) == 1));
 4052|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4053|  14.6k|            (TestConstant::noinline_equ2(upx_uint32_t(n), upx_uint32_t(a), upx_uint32_t(b)) == 1));
 4054|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4055|  14.6k|            (TestConstant::noinline_equ2(upx_int64_t(n), upx_int64_t(a), upx_int64_t(b)) == 1));
 4056|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4057|  14.6k|            (TestConstant::noinline_equ2(upx_uint64_t(n), upx_uint64_t(a), upx_uint64_t(b)) == 1));
 4058|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4059|  14.6k|        assert_noexcept2(
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4060|  14.6k|            (TestConstant::noinline_equ2(upx_int128_t(n), upx_int128_t(a), upx_int128_t(b)) == 1));
 4061|  14.6k|        assert_noexcept2((TestConstant::noinline_equ2(upx_uint128_t(n), upx_uint128_t(a),
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4062|  14.6k|                                                      upx_uint128_t(b)) == 1));
 4063|  14.6k|#endif
 4064|  14.6k|    }
 4065|  14.6k|    {
 4066|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_int8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4067|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_uint8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4068|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_int16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4069|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_uint16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4070|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_int32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4071|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_uint32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4072|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_int64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4073|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_uint64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4074|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4075|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_int128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4076|  14.6k|        assert_noexcept2((TestConstant::noinline_ne1(upx_uint128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4077|  14.6k|#endif
 4078|       |
 4079|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4080|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4081|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4082|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4083|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4084|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4085|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4086|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4087|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4088|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4089|  14.6k|        assert_noexcept2((TestConstant::noinline_ne2(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4090|  14.6k|#endif
 4091|       |
 4092|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_int8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4093|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_uint8_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4094|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_int16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4095|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_uint16_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4096|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_int32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4097|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_uint32_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4098|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_int64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4099|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_uint64_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4100|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4101|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_int128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4102|  14.6k|        assert_noexcept2((TestConstant::noinline_ne3(upx_uint128_t(n)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4103|  14.6k|#endif
 4104|       |
 4105|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_int8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4106|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_uint8_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4107|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_int16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4108|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_uint16_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4109|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_int32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4110|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_uint32_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4111|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_int64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4112|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_uint64_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4113|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4114|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_int128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4115|  14.6k|        assert_noexcept2((TestConstant::noinline_ne4(upx_uint128_t(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4116|  14.6k|#endif
 4117|       |
 4118|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4119|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4120|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4121|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4122|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4123|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4124|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4125|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4126|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4127|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4128|  14.6k|        assert_noexcept2((TestConstant::noinline_ne5(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4129|  14.6k|#endif
 4130|       |
 4131|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4132|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4133|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4134|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4135|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4136|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4137|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4138|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4139|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4140|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4141|  14.6k|        assert_noexcept2((TestConstant::noinline_ne6(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4142|  14.6k|#endif
 4143|       |
 4144|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4145|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4146|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4147|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4148|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4149|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4150|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4151|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4152|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4153|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4154|  14.6k|        assert_noexcept2((TestConstant::noinline_ne7(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4155|  14.6k|#endif
 4156|       |
 4157|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4158|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4159|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4160|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4161|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4162|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4163|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4164|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4165|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4166|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4167|  14.6k|        assert_noexcept2((TestConstant::noinline_ne8(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4168|  14.6k|#endif
 4169|       |
 4170|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4171|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4172|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4173|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4174|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4175|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4176|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4177|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4178|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4179|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4180|  14.6k|        assert_noexcept2((TestConstant::noinline_ne9(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4181|  14.6k|#endif
 4182|  14.6k|    }
 4183|  14.6k|    {
 4184|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4185|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4186|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4187|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4188|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4189|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4190|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4191|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4192|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4193|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4194|  14.6k|        assert_noexcept2((TestConstant::noinline_sw6(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4195|  14.6k|#endif
 4196|       |
 4197|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4198|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4199|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4200|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4201|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4202|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4203|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4204|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4205|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4206|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4207|  14.6k|        assert_noexcept2((TestConstant::noinline_sw7(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4208|  14.6k|#endif
 4209|       |
 4210|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4211|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4212|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4213|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4214|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4215|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4216|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4217|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4218|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4219|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4220|  14.6k|        assert_noexcept2((TestConstant::noinline_sw8(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4221|  14.6k|#endif
 4222|       |
 4223|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_int8_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4224|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4225|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_int16_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4226|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4227|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_int32_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4228|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4229|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_int64_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4230|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_uint64_t(n)) == 0xffffffffffffffffULL));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4231|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4232|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_int128_t(n)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4233|  14.6k|        assert_noexcept2((TestConstant::noinline_sw9(upx_uint128_t(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4234|  14.6k|#endif
 4235|  14.6k|    }
 4236|  14.6k|    {
 4237|  14.6k|        const int n1 = acc_vget_int(65535, 0);
 4238|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int8_t(n1), upx_int8_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4239|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint8_t(n1), upx_uint8_t(b)) == 255));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4240|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int16_t(n1), upx_int16_t(b)) == -1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4241|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint16_t(n1), upx_uint16_t(b)) == 65535));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4242|  14.6k|        const int n2 = acc_vget_int(65536, 0);
 4243|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int8_t(n2), upx_int8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4244|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint8_t(n2), upx_uint8_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4245|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_int16_t(n2), upx_int16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4246|  14.6k|        assert_noexcept2((TestConstant::noinline_div(upx_uint16_t(n2), upx_uint16_t(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4247|  14.6k|        (void) n1;
 4248|  14.6k|        (void) n2;
 4249|  14.6k|    }
 4250|  14.6k|    (void) n;
 4251|  14.6k|    (void) a;
 4252|  14.6k|    (void) b;
 4253|  14.6k|    (void) f;
 4254|  14.6k|    (void) t;
 4255|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIaEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIhEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIsEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqItEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIiEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIjEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIxEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIyEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqInEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIoEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIfEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_eqIdEEbT_S2_:
 2126|  14.6k|    static noinline bool noinline_eq(T a, T b) noexcept {
 2127|  14.6k|        return a == b;
 2128|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIaEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIhEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIsEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neItEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIiEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIjEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIxEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIyEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neInEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIoEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIfEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_neIdEEbT_S2_:
 2130|  14.6k|    static noinline bool noinline_ne(T a, T b) noexcept {
 2131|  14.6k|        return a != b;
 2132|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIaEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIhEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIsEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltItEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIiEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIjEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIxEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIyEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltInEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIoEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIfEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_ltIdEEbT_S2_:
 2134|  14.6k|    static noinline bool noinline_lt(T a, T b) noexcept {
 2135|  14.6k|        return a < b;
 2136|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIaEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIhEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIsEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtItEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIiEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIjEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIxEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIyEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtInEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIoEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIfEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_gtIdEEbT_S2_:
 2138|  14.6k|    static noinline bool noinline_gt(T a, T b) noexcept {
 2139|  14.6k|        return a > b;
 2140|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIaEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIhEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIsEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leItEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIiEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIjEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIxEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIyEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leInEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIoEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIfEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_leIdEEbT_S2_:
 2142|  14.6k|    static noinline bool noinline_le(T a, T b) noexcept {
 2143|  14.6k|        return a <= b;
 2144|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIaEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIhEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIsEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geItEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIiEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIjEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIxEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIyEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geInEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIoEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIfEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_geIdEEbT_S2_:
 2146|  14.6k|    static noinline bool noinline_ge(T a, T b) noexcept {
 2147|  14.6k|        return a >= b;
 2148|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIaEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIhEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIsEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroItEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIiEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIjEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIxEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIyEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroInEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIoEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIfEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIdEET_S2_:
 2151|  14.6k|    static noinline T noinline_zero(T) noexcept {
 2152|  14.6k|        return T{};
 2153|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIaEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIhEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIsEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneItEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIiEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIjEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIxEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIyEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneInEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIoEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIfEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIdEET_S2_:
 2155|  14.6k|    static noinline T noinline_one(T) noexcept {
 2156|  14.6k|        return T(1);
 2157|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIaEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIhEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIsEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneItEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIiEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIjEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIxEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIyEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneInEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIoEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIfEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIdEET_S2_:
 2159|  14.6k|    static noinline T noinline_minus_one(T) noexcept {
 2160|  14.6k|        return T(T(0) - T(1));
 2161|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIaEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIhEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIsEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffItEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIiEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIjEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIxEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIyEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIfEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIdEET_S2_:
 2163|  14.6k|    static noinline T noinline_0xff(T) noexcept {
 2164|  14.6k|        return T(0xff);
 2165|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIaEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIhEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIsEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffItEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIiEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIjEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIxEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIyEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIfEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIdEET_S2_:
 2167|  14.6k|    static noinline T noinline_0xffff(T) noexcept {
 2168|  14.6k|        return T(0xffff);
 2169|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIaEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIhEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIsEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffItEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIiEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIjEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIxEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIyEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIdEET_S2_:
 2171|  14.6k|    static noinline T noinline_0xffffffff(T) noexcept {
 2172|  14.6k|        return T(0xffffffff);
 2173|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIaEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIhEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIsEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroItEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIiEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIjEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIxEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIyEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIfEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIdEET_S2_:
 2176|  14.6k|    static noinline T noinline_add_zero(T n) noexcept {
 2177|  14.6k|        return T(n + T(0));
 2178|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIaEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIhEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIsEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneItEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIiEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIjEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIxEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIyEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneInEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIoEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIfEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIdEET_S2_:
 2180|  14.6k|    static noinline T noinline_add_one(T n) noexcept {
 2181|  14.6k|        return T(n + T(1));
 2182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIaEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIhEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIsEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneItEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIiEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIjEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIxEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIyEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneInEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIoEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIfEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIdEET_S2_:
 2184|  14.6k|    static noinline T noinline_add_minus_one(T n) noexcept {
 2185|  14.6k|        return T(n + T(T(0) - T(1)));
 2186|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIaEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIhEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIsEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffItEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIiEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIjEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIxEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIyEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIfEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIdEET_S2_:
 2188|  14.6k|    static noinline T noinline_add_0xff(T n) noexcept {
 2189|  14.6k|        return T(n + T(0xff));
 2190|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIaEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIhEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIsEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffItEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIiEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIjEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIxEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIyEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIfEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIdEET_S2_:
 2192|  14.6k|    static noinline T noinline_add_0xffff(T n) noexcept {
 2193|  14.6k|        return T(n + T(0xffff));
 2194|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIaEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIhEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIsEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffItEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIiEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIjEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIxEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIyEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIdEET_S2_:
 2196|  14.6k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 2197|  14.6k|        return T(n + T(0xffffffff));
 2198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IaEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IhEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IsEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708ItEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IiEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IjEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IxEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IyEET_S2_:
 2201|  14.6k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 2202|  14.6k|        return T(n + T(0x0102030405060708ull));
 2203|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IaEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IhEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IsEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1ItEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IiEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IjEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IxEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IyEET_S2_:
 2205|  14.6k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 2206|  14.6k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 2207|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIbEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIaEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIhEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIsEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andItEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIiEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIjEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIxEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIyEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andInEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_andIoEET_S2_S2_:
 2210|  14.6k|    static noinline T noinline_and(T a, T b) noexcept {
 2211|  14.6k|        return T(a & b);
 2212|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIbEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIaEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIhEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIsEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orItEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIiEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIjEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIxEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIyEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orInEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant11noinline_orIoEET_S2_S2_:
 2214|  14.6k|    static noinline T noinline_or(T a, T b) noexcept {
 2215|  14.6k|        return T(a | b);
 2216|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIbEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIaEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIhEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIsEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorItEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIiEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIjEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIxEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIyEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorInEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_xorIoEET_S2_S2_:
 2218|  14.6k|    static noinline T noinline_xor(T a, T b) noexcept {
 2219|  14.6k|        return T(a ^ b);
 2220|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIaEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIhEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIsEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnItEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIiEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIjEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIxEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIyEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnInEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_andnIoEET_S2_S2_:
 2222|  14.6k|    static noinline T noinline_andn(T a, T b) noexcept {
 2223|  14.6k|        return T(a & ~b);
 2224|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIaEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIhEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIsEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornItEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIiEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIjEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIxEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIyEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornInEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ornIoEET_S2_S2_:
 2226|  14.6k|    static noinline T noinline_orn(T a, T b) noexcept {
 2227|  14.6k|        return T(a | ~b);
 2228|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIaEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIhEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIsEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornItEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIiEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIjEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIxEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIyEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornInEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_xornIoEET_S2_S2_:
 2230|  14.6k|    static noinline T noinline_xorn(T a, T b) noexcept {
 2231|  14.6k|        return T(a ^ ~b);
 2232|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_and_orIbEET_S2_S2_S2_S2_:
 2235|  14.6k|    static noinline T noinline_and_or(T a, T b, T c, T d) noexcept {
 2236|  14.6k|        return T(T(a | b) & T(c | d));
 2237|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_or_andIbEET_S2_S2_S2_S2_:
 2239|  14.6k|    static noinline T noinline_or_and(T a, T b, T c, T d) noexcept {
 2240|  14.6k|        return T(T(a & b) | T(c & d));
 2241|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIaEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIhEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIsEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addItEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIiEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIjEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIxEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIyEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addInEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIoEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIfEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_addIdEET_S2_S2_:
 2244|  14.6k|    static noinline T noinline_add(T a, T b) noexcept {
 2245|  14.6k|        return T(a + b);
 2246|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIaEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIhEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIsEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subItEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIiEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIjEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIxEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIyEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subInEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIoEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIfEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_subIdEET_S2_S2_:
 2248|  14.6k|    static noinline T noinline_sub(T a, T b) noexcept {
 2249|  14.6k|        return T(a - b);
 2250|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIaEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIhEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIsEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulItEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIiEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIjEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIxEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIyEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulInEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIoEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIfEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_mulIdEET_S2_S2_:
 2252|  14.6k|    static noinline T noinline_mul(T a, T b) noexcept {
 2253|  14.6k|        return T(a * b);
 2254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIaEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIhEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIsEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negItEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIiEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIjEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIxEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIyEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negInEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIoEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIfEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_mul_negIdEET_S2_S2_:
 2256|  14.6k|    static noinline T noinline_mul_neg(T a, T b) noexcept {
 2257|  14.6k|        return T(T(0) - T(a * b));
 2258|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIaEET_S2_S2_:
 2260|  44.0k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  44.0k|        return T(a / b);
 2262|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIhEET_S2_S2_:
 2260|  44.0k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  44.0k|        return T(a / b);
 2262|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIsEET_S2_S2_:
 2260|  44.0k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  44.0k|        return T(a / b);
 2262|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divItEET_S2_S2_:
 2260|  44.0k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  44.0k|        return T(a / b);
 2262|  44.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIiEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIjEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIxEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIyEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divInEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIoEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIfEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_divIdEET_S2_S2_:
 2260|  14.6k|    static noinline T noinline_div(T a, T b) noexcept {
 2261|  14.6k|        return T(a / b);
 2262|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIaEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIhEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIsEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modItEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIiEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIjEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIxEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIyEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modInEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_modIoEET_S2_S2_:
 2264|  14.6k|    static noinline T noinline_mod(T a, T b) noexcept {
 2265|  14.6k|        return T(a % b);
 2266|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIaEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIhEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIsEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodItEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIiEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIjEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIxEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIyEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodInEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_divmodIoEET_S2_S2_:
 2268|  14.6k|    static noinline T noinline_divmod(T a, T b) noexcept {
 2269|  14.6k|        return T(T(a / b) + T(a % b));
 2270|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_add2InxEET_S2_T0_:
 2273|  14.6k|    static noinline T noinline_add2(T a, U b) noexcept {
 2274|  14.6k|        return T(a + b);
 2275|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_add2IoyEET_S2_T0_:
 2273|  14.6k|    static noinline T noinline_add2(T a, U b) noexcept {
 2274|  14.6k|        return T(a + b);
 2275|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_sub2InxEET_S2_T0_:
 2277|  14.6k|    static noinline T noinline_sub2(T a, U b) noexcept {
 2278|  14.6k|        return T(a - b);
 2279|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_sub2IoyEET_S2_T0_:
 2277|  14.6k|    static noinline T noinline_sub2(T a, U b) noexcept {
 2278|  14.6k|        return T(a - b);
 2279|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mul2InxEET_S2_T0_:
 2281|  14.6k|    static noinline T noinline_mul2(T a, U b) noexcept {
 2282|  14.6k|        return T(a * b);
 2283|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mul2IoyEET_S2_T0_:
 2281|  14.6k|    static noinline T noinline_mul2(T a, U b) noexcept {
 2282|  14.6k|        return T(a * b);
 2283|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_div2InxEET_S2_T0_:
 2285|  14.6k|    static noinline T noinline_div2(T a, U b) noexcept {
 2286|  14.6k|        return T(a / b);
 2287|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_div2IoyEET_S2_T0_:
 2285|  14.6k|    static noinline T noinline_div2(T a, U b) noexcept {
 2286|  14.6k|        return T(a / b);
 2287|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mod2InxEET_S2_T0_:
 2289|  14.6k|    static noinline T noinline_mod2(T a, U b) noexcept {
 2290|  14.6k|        return T(a % b);
 2291|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mod2IoyEET_S2_T0_:
 2289|  14.6k|    static noinline T noinline_mod2(T a, U b) noexcept {
 2290|  14.6k|        return T(a % b);
 2291|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_divmod2InxEET_S2_T0_:
 2293|  14.6k|    static noinline T noinline_divmod2(T a, U b) noexcept {
 2294|  14.6k|        return T(T(a / b) + T(a % b));
 2295|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_divmod2IoyEET_S2_T0_:
 2293|  14.6k|    static noinline T noinline_divmod2(T a, U b) noexcept {
 2294|  14.6k|        return T(T(a / b) + T(a % b));
 2295|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_add3IxnEET0_T_S2_:
 2298|  14.6k|    static noinline U noinline_add3(T a, U b) noexcept {
 2299|  14.6k|        return U(a + b);
 2300|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_add3IyoEET0_T_S2_:
 2298|  14.6k|    static noinline U noinline_add3(T a, U b) noexcept {
 2299|  14.6k|        return U(a + b);
 2300|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_sub3IxnEET0_T_S2_:
 2302|  14.6k|    static noinline U noinline_sub3(T a, U b) noexcept {
 2303|  14.6k|        return U(a - b);
 2304|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_sub3IyoEET0_T_S2_:
 2302|  14.6k|    static noinline U noinline_sub3(T a, U b) noexcept {
 2303|  14.6k|        return U(a - b);
 2304|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mul3IxnEET0_T_S2_:
 2306|  14.6k|    static noinline U noinline_mul3(T a, U b) noexcept {
 2307|  14.6k|        return U(a * b);
 2308|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mul3IyoEET0_T_S2_:
 2306|  14.6k|    static noinline U noinline_mul3(T a, U b) noexcept {
 2307|  14.6k|        return U(a * b);
 2308|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_div3IxnEET0_T_S2_:
 2310|  14.6k|    static noinline U noinline_div3(T a, U b) noexcept {
 2311|  14.6k|        return U(a / b);
 2312|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_div3IyoEET0_T_S2_:
 2310|  14.6k|    static noinline U noinline_div3(T a, U b) noexcept {
 2311|  14.6k|        return U(a / b);
 2312|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mod3IxnEET0_T_S2_:
 2314|  14.6k|    static noinline U noinline_mod3(T a, U b) noexcept {
 2315|  14.6k|        return U(a % b);
 2316|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_mod3IyoEET0_T_S2_:
 2314|  14.6k|    static noinline U noinline_mod3(T a, U b) noexcept {
 2315|  14.6k|        return U(a % b);
 2316|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_divmod3IxnEET0_T_S2_:
 2318|  14.6k|    static noinline U noinline_divmod3(T a, U b) noexcept {
 2319|  14.6k|        return U(U(a / b) + U(a % b));
 2320|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_divmod3IyoEET0_T_S2_:
 2318|  14.6k|    static noinline U noinline_divmod3(T a, U b) noexcept {
 2319|  14.6k|        return U(U(a / b) + U(a % b));
 2320|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIaEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIhEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIsEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulItEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIiEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIjEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIxEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIyEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulInEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIoEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIfEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_mulIdEET_S2_S2_S2_:
 2323|  14.6k|    static noinline T noinline_add_mul(T n, T a, T b) noexcept {
 2324|  14.6k|        return T(n + T(a * b));
 2325|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIaEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIhEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIsEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divItEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIiEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIjEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIxEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIyEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divInEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIoEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIfEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_divIdEET_S2_S2_S2_:
 2327|  14.6k|    static noinline T noinline_add_div(T n, T a, T b) noexcept {
 2328|  14.6k|        return T(n + T(a / b));
 2329|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIaEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIhEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIsEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modItEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIiEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIjEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIxEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_modIyEET_S2_S2_S2_:
 2331|  14.6k|    static noinline T noinline_add_mod(T n, T a, T b) noexcept {
 2332|  14.6k|        return T(n + T(a % b));
 2333|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIaEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIhEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIsEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodItEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIiEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIjEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIxEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_divmodIyEET_S2_S2_S2_:
 2335|  14.6k|    static noinline T noinline_add_divmod(T n, T a, T b) noexcept {
 2336|  14.6k|        return T(n + T(T(a / b) + T(a % b)));
 2337|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_0ImEET_v:
 2340|  14.6k|    static noinline T noinline_xadd_0() noexcept {
 2341|  14.6k|        return T(0);
 2342|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_1ImEET_S2_:
 2344|  14.6k|    static noinline T noinline_xadd_1(T a) noexcept {
 2345|  14.6k|        return T(a);
 2346|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_2ImEET_S2_S2_:
 2348|  14.6k|    static noinline T noinline_xadd_2(T a, T b) noexcept {
 2349|  14.6k|        return T(a + b);
 2350|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_3ImEET_S2_S2_S2_:
 2352|  14.6k|    static noinline T noinline_xadd_3(T a, T b, T c) noexcept {
 2353|  14.6k|        return T(a + b + c);
 2354|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_4ImEET_S2_S2_S2_S2_:
 2356|  14.6k|    static noinline T noinline_xadd_4(T a, T b, T c, T d) noexcept {
 2357|  14.6k|        return T(a + b + c + d);
 2358|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_5ImEET_S2_S2_S2_S2_S2_:
 2360|  14.6k|    static noinline T noinline_xadd_5(T a, T b, T c, T d, T e) noexcept {
 2361|  14.6k|        return T(a + b + c + d + e);
 2362|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_6ImEET_S2_S2_S2_S2_S2_S2_:
 2364|  14.6k|    static noinline T noinline_xadd_6(T a, T b, T c, T d, T e, T f) noexcept {
 2365|  14.6k|        return T(a + b + c + d + e + f);
 2366|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_7ImEET_S2_S2_S2_S2_S2_S2_S2_:
 2368|  14.6k|    static noinline T noinline_xadd_7(T a, T b, T c, T d, T e, T f, T g) noexcept {
 2369|  14.6k|        return T(a + b + c + d + e + f + g);
 2370|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_8ImEET_S2_S2_S2_S2_S2_S2_S2_S2_:
 2372|  14.6k|    static noinline T noinline_xadd_8(T a, T b, T c, T d, T e, T f, T g, T h) noexcept {
 2373|  14.6k|        return T(a + b + c + d + e + f + g + h);
 2374|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_9ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2376|  14.6k|    static noinline T noinline_xadd_9(T a, T b, T c, T d, T e, T f, T g, T h, T i) noexcept {
 2377|  14.6k|        return T(a + b + c + d + e + f + g + h + i);
 2378|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_10ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2380|  14.6k|    static noinline T noinline_xadd_10(T a, T b, T c, T d, T e, T f, T g, T h, T i, T j) noexcept {
 2381|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j);
 2382|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_11ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2385|  14.6k|                                       T k) noexcept {
 2386|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k);
 2387|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_12ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2390|  14.6k|                                       T l) noexcept {
 2391|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l);
 2392|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_13ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2395|  14.6k|                                       T m) noexcept {
 2396|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m);
 2397|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_14ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2400|  14.6k|                                       T m, T n) noexcept {
 2401|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n);
 2402|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_15ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2405|  14.6k|                                       T m, T n, T o) noexcept {
 2406|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o);
 2407|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_16ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2410|  14.6k|                                       T m, T n, T o, T p) noexcept {
 2411|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p);
 2412|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_17ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2415|  14.6k|                                       T m, T n, T o, T p, T q) noexcept {
 2416|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q);
 2417|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_18ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2420|  14.6k|                                       T m, T n, T o, T p, T q, T r) noexcept {
 2421|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r);
 2422|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_19ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2425|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s) noexcept {
 2426|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s);
 2427|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_20ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2430|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t) noexcept {
 2431|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t);
 2432|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_21ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2435|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u) noexcept {
 2436|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u);
 2437|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_22ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2440|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u, T v) noexcept {
 2441|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2442|  14.6k|                 v);
 2443|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_23ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2447|  14.6k|                                       T w) noexcept {
 2448|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2449|  14.6k|                 v + w);
 2450|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_24ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2454|  14.6k|                                       T x) noexcept {
 2455|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2456|  14.6k|                 v + w + x);
 2457|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_25ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2461|  14.6k|                                       T y) noexcept {
 2462|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2463|  14.6k|                 v + w + x + y);
 2464|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_26ImEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2468|  14.6k|                                       T y, T z) noexcept {
 2469|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2470|  14.6k|                 v + w + x + y + z);
 2471|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_0IfEET_v:
 2340|  14.6k|    static noinline T noinline_xadd_0() noexcept {
 2341|  14.6k|        return T(0);
 2342|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_1IfEET_S2_:
 2344|  14.6k|    static noinline T noinline_xadd_1(T a) noexcept {
 2345|  14.6k|        return T(a);
 2346|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_2IfEET_S2_S2_:
 2348|  14.6k|    static noinline T noinline_xadd_2(T a, T b) noexcept {
 2349|  14.6k|        return T(a + b);
 2350|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_3IfEET_S2_S2_S2_:
 2352|  14.6k|    static noinline T noinline_xadd_3(T a, T b, T c) noexcept {
 2353|  14.6k|        return T(a + b + c);
 2354|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_4IfEET_S2_S2_S2_S2_:
 2356|  14.6k|    static noinline T noinline_xadd_4(T a, T b, T c, T d) noexcept {
 2357|  14.6k|        return T(a + b + c + d);
 2358|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_5IfEET_S2_S2_S2_S2_S2_:
 2360|  14.6k|    static noinline T noinline_xadd_5(T a, T b, T c, T d, T e) noexcept {
 2361|  14.6k|        return T(a + b + c + d + e);
 2362|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_6IfEET_S2_S2_S2_S2_S2_S2_:
 2364|  14.6k|    static noinline T noinline_xadd_6(T a, T b, T c, T d, T e, T f) noexcept {
 2365|  14.6k|        return T(a + b + c + d + e + f);
 2366|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_7IfEET_S2_S2_S2_S2_S2_S2_S2_:
 2368|  14.6k|    static noinline T noinline_xadd_7(T a, T b, T c, T d, T e, T f, T g) noexcept {
 2369|  14.6k|        return T(a + b + c + d + e + f + g);
 2370|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_8IfEET_S2_S2_S2_S2_S2_S2_S2_S2_:
 2372|  14.6k|    static noinline T noinline_xadd_8(T a, T b, T c, T d, T e, T f, T g, T h) noexcept {
 2373|  14.6k|        return T(a + b + c + d + e + f + g + h);
 2374|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_9IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2376|  14.6k|    static noinline T noinline_xadd_9(T a, T b, T c, T d, T e, T f, T g, T h, T i) noexcept {
 2377|  14.6k|        return T(a + b + c + d + e + f + g + h + i);
 2378|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_10IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2380|  14.6k|    static noinline T noinline_xadd_10(T a, T b, T c, T d, T e, T f, T g, T h, T i, T j) noexcept {
 2381|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j);
 2382|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_11IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2385|  14.6k|                                       T k) noexcept {
 2386|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k);
 2387|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_12IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2390|  14.6k|                                       T l) noexcept {
 2391|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l);
 2392|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_13IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2395|  14.6k|                                       T m) noexcept {
 2396|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m);
 2397|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_14IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2400|  14.6k|                                       T m, T n) noexcept {
 2401|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n);
 2402|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_15IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2405|  14.6k|                                       T m, T n, T o) noexcept {
 2406|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o);
 2407|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_16IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2410|  14.6k|                                       T m, T n, T o, T p) noexcept {
 2411|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p);
 2412|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_17IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2415|  14.6k|                                       T m, T n, T o, T p, T q) noexcept {
 2416|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q);
 2417|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_18IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2420|  14.6k|                                       T m, T n, T o, T p, T q, T r) noexcept {
 2421|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r);
 2422|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_19IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2425|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s) noexcept {
 2426|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s);
 2427|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_20IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2430|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t) noexcept {
 2431|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t);
 2432|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_21IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2435|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u) noexcept {
 2436|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u);
 2437|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_22IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2440|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u, T v) noexcept {
 2441|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2442|  14.6k|                 v);
 2443|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_23IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2447|  14.6k|                                       T w) noexcept {
 2448|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2449|  14.6k|                 v + w);
 2450|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_24IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2454|  14.6k|                                       T x) noexcept {
 2455|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2456|  14.6k|                 v + w + x);
 2457|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_25IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2461|  14.6k|                                       T y) noexcept {
 2462|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2463|  14.6k|                 v + w + x + y);
 2464|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_26IfEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2468|  14.6k|                                       T y, T z) noexcept {
 2469|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2470|  14.6k|                 v + w + x + y + z);
 2471|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_0IdEET_v:
 2340|  14.6k|    static noinline T noinline_xadd_0() noexcept {
 2341|  14.6k|        return T(0);
 2342|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_1IdEET_S2_:
 2344|  14.6k|    static noinline T noinline_xadd_1(T a) noexcept {
 2345|  14.6k|        return T(a);
 2346|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_2IdEET_S2_S2_:
 2348|  14.6k|    static noinline T noinline_xadd_2(T a, T b) noexcept {
 2349|  14.6k|        return T(a + b);
 2350|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_3IdEET_S2_S2_S2_:
 2352|  14.6k|    static noinline T noinline_xadd_3(T a, T b, T c) noexcept {
 2353|  14.6k|        return T(a + b + c);
 2354|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_4IdEET_S2_S2_S2_S2_:
 2356|  14.6k|    static noinline T noinline_xadd_4(T a, T b, T c, T d) noexcept {
 2357|  14.6k|        return T(a + b + c + d);
 2358|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_5IdEET_S2_S2_S2_S2_S2_:
 2360|  14.6k|    static noinline T noinline_xadd_5(T a, T b, T c, T d, T e) noexcept {
 2361|  14.6k|        return T(a + b + c + d + e);
 2362|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_6IdEET_S2_S2_S2_S2_S2_S2_:
 2364|  14.6k|    static noinline T noinline_xadd_6(T a, T b, T c, T d, T e, T f) noexcept {
 2365|  14.6k|        return T(a + b + c + d + e + f);
 2366|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_7IdEET_S2_S2_S2_S2_S2_S2_S2_:
 2368|  14.6k|    static noinline T noinline_xadd_7(T a, T b, T c, T d, T e, T f, T g) noexcept {
 2369|  14.6k|        return T(a + b + c + d + e + f + g);
 2370|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_8IdEET_S2_S2_S2_S2_S2_S2_S2_S2_:
 2372|  14.6k|    static noinline T noinline_xadd_8(T a, T b, T c, T d, T e, T f, T g, T h) noexcept {
 2373|  14.6k|        return T(a + b + c + d + e + f + g + h);
 2374|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_xadd_9IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2376|  14.6k|    static noinline T noinline_xadd_9(T a, T b, T c, T d, T e, T f, T g, T h, T i) noexcept {
 2377|  14.6k|        return T(a + b + c + d + e + f + g + h + i);
 2378|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_10IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2380|  14.6k|    static noinline T noinline_xadd_10(T a, T b, T c, T d, T e, T f, T g, T h, T i, T j) noexcept {
 2381|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j);
 2382|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_11IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2385|  14.6k|                                       T k) noexcept {
 2386|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k);
 2387|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_12IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2390|  14.6k|                                       T l) noexcept {
 2391|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l);
 2392|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_13IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2395|  14.6k|                                       T m) noexcept {
 2396|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m);
 2397|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_14IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2400|  14.6k|                                       T m, T n) noexcept {
 2401|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n);
 2402|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_15IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2405|  14.6k|                                       T m, T n, T o) noexcept {
 2406|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o);
 2407|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_16IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2410|  14.6k|                                       T m, T n, T o, T p) noexcept {
 2411|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p);
 2412|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_17IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2415|  14.6k|                                       T m, T n, T o, T p, T q) noexcept {
 2416|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q);
 2417|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_18IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2420|  14.6k|                                       T m, T n, T o, T p, T q, T r) noexcept {
 2421|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r);
 2422|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_19IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2425|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s) noexcept {
 2426|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s);
 2427|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_20IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2430|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t) noexcept {
 2431|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t);
 2432|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_21IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2435|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u) noexcept {
 2436|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u);
 2437|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_22IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2440|  14.6k|                                       T m, T n, T o, T p, T q, T r, T s, T t, T u, T v) noexcept {
 2441|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2442|  14.6k|                 v);
 2443|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_23IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2447|  14.6k|                                       T w) noexcept {
 2448|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2449|  14.6k|                 v + w);
 2450|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_24IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2454|  14.6k|                                       T x) noexcept {
 2455|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2456|  14.6k|                 v + w + x);
 2457|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_25IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2461|  14.6k|                                       T y) noexcept {
 2462|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2463|  14.6k|                 v + w + x + y);
 2464|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_xadd_26IdEET_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_S2_:
 2468|  14.6k|                                       T y, T z) noexcept {
 2469|  14.6k|        return T(a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u +
 2470|  14.6k|                 v + w + x + y + z);
 2471|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_1Ev:
 2497|  14.6k|    static noinline R1 noinline_return_1() noexcept {
 2498|  14.6k|        R1 r = {};
 2499|  14.6k|        return r;
 2500|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_2Ev:
 2501|  14.6k|    static noinline R2 noinline_return_2() noexcept {
 2502|  14.6k|        R2 r = {};
 2503|  14.6k|        return r;
 2504|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_3Ev:
 2505|  14.6k|    static noinline R3 noinline_return_3() noexcept {
 2506|  14.6k|        R3 r = {};
 2507|  14.6k|        return r;
 2508|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_4Ev:
 2509|  14.6k|    static noinline R4 noinline_return_4() noexcept {
 2510|  14.6k|        R4 r = {};
 2511|  14.6k|        return r;
 2512|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_5Ev:
 2513|  14.6k|    static noinline R5 noinline_return_5() noexcept {
 2514|  14.6k|        R5 r = {};
 2515|  14.6k|        return r;
 2516|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_6Ev:
 2517|  14.6k|    static noinline R6 noinline_return_6() noexcept {
 2518|  14.6k|        R6 r = {};
 2519|  14.6k|        return r;
 2520|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_7Ev:
 2521|  14.6k|    static noinline R7 noinline_return_7() noexcept {
 2522|  14.6k|        R7 r = {};
 2523|  14.6k|        return r;
 2524|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_return_8Ev:
 2525|  14.6k|    static noinline R8 noinline_return_8() noexcept {
 2526|  14.6k|        R8 r = {};
 2527|  14.6k|        return r;
 2528|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IaEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IhEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IsEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0ItEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IiEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IjEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IxEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IyEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0InEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be0IoEEbT_:
 2531|  14.6k|    static noinline bool noinline_be0(T n) noexcept {
 2532|  14.6k|        return n == 0;
 2533|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IaEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IhEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IsEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0ItEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IiEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IjEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IxEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IyEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0InEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben0IoEEbT_:
 2535|  14.6k|    static noinline bool noinline_ben0(T n) noexcept {
 2536|  14.6k|        return n != 0;
 2537|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IaEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IhEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IsEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1ItEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IiEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IjEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IxEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IyEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1InEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be1IoEEbT_:
 2539|  14.6k|    static noinline bool noinline_be1(T n) noexcept {
 2540|  14.6k|        return n == 1;
 2541|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IaEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IhEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IsEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1ItEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IiEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IjEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IxEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IyEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1InEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben1IoEEbT_:
 2543|  14.6k|    static noinline bool noinline_ben1(T n) noexcept {
 2544|  14.6k|        return n == T(-1);
 2545|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IaEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IhEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IsEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2ItEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IiEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IjEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IxEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IyEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2InEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_be2IoEEbT_:
 2547|  14.6k|    static noinline bool noinline_be2(T n) noexcept {
 2548|  14.6k|        return n == 0 || n == 1;
  ------------------
  |  Branch (2548:16): [True: 14.6k, False: 0]
  |  Branch (2548:26): [True: 0, False: 0]
  ------------------
 2549|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IaEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IhEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IsEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2ItEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IiEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IjEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IxEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IyEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2InEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_ben2IoEEbT_:
 2551|  14.6k|    static noinline bool noinline_ben2(T n) noexcept {
 2552|  14.6k|        return n == 0 || n == T(-1);
  ------------------
  |  Branch (2552:16): [True: 14.6k, False: 0]
  |  Branch (2552:26): [True: 0, False: 0]
  ------------------
 2553|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IaEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IhEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IsEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2ItEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IiEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IjEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IxEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IyEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2InEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_bx2IoEEbT_:
 2555|  14.6k|    static noinline bool noinline_bx2(T n) noexcept {
 2556|  14.6k|        return (n == 0) | (n == 1);
 2557|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IaEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IhEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IsEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2ItEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IiEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IjEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IxEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IyEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2InEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_bxn2IoEEbT_:
 2559|  14.6k|    static noinline bool noinline_bxn2(T n) noexcept {
 2560|  14.6k|        return (n == 0) | (n == T(-1));
 2561|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IaEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IhEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IsEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1ItEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IiEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IjEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IxEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IyEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1InEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ1IoEET_S2_S2_S2_:
 2564|  14.6k|    static noinline T noinline_equ1(T n, T a, T b) noexcept {
 2565|  14.6k|        return n == 0 ? a : b;
  ------------------
  |  Branch (2565:16): [True: 14.6k, False: 0]
  ------------------
 2566|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IaEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IhEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IsEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2ItEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IiEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IjEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IxEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IyEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2InEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_equ2IoEET_S2_S2_S2_:
 2568|  14.6k|    static noinline T noinline_equ2(T n, T a, T b) noexcept {
 2569|  14.6k|        return n == 41 ? a : b;
  ------------------
  |  Branch (2569:16): [True: 0, False: 14.6k]
  ------------------
 2570|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IaEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IhEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IsEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1ItEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IiEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IjEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IxEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IyEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1InEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne1IoEET_S2_:
 2573|  14.6k|    static noinline T noinline_ne1(T n) noexcept {
 2574|  14.6k|        return n == 0 ? 1 : n;
  ------------------
  |  Branch (2574:16): [True: 14.6k, False: 0]
  ------------------
 2575|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IaEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IhEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IsEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2ItEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IiEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IjEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IxEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IyEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2InEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne2IoEET_S2_:
 2577|  14.6k|    static noinline T noinline_ne2(T n) noexcept {
 2578|  14.6k|        return n == 41 ? 11 : n;
  ------------------
  |  Branch (2578:16): [True: 0, False: 14.6k]
  ------------------
 2579|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IaEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IhEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IsEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3ItEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IiEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IjEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IxEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IyEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3InEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne3IoEET_S2_:
 2581|  14.6k|    static noinline T noinline_ne3(T n) noexcept {
 2582|  14.6k|        return n == 41 ? 11 : T(n + 1);
  ------------------
  |  Branch (2582:16): [True: 0, False: 14.6k]
  ------------------
 2583|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IaEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IhEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IsEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4ItEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IiEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IjEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IxEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IyEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4InEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne4IoEET_S2_:
 2585|  14.6k|    static noinline T noinline_ne4(T n) noexcept {
 2586|  14.6k|        return n == 0 ? 0 : T(-1);
  ------------------
  |  Branch (2586:16): [True: 14.6k, False: 0]
  ------------------
 2587|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IaEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IhEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IsEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5ItEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IiEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IjEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IxEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IyEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5InEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne5IoEET_S2_:
 2589|  14.6k|    static noinline T noinline_ne5(T n) noexcept {
 2590|  14.6k|        return n != 0 ? 0 : T(-1);
  ------------------
  |  Branch (2590:16): [True: 0, False: 14.6k]
  ------------------
 2591|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IaEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IhEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IsEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6ItEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IiEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IjEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IxEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IyEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6InEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne6IoEET_S2_:
 2593|  14.6k|    static noinline T noinline_ne6(T n) noexcept {
 2594|  14.6k|        return n == 41 ? 0 : T(-1);
  ------------------
  |  Branch (2594:16): [True: 0, False: 14.6k]
  ------------------
 2595|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IaEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IhEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IsEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7ItEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IiEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IjEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IxEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IyEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7InEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne7IoEET_S2_:
 2597|  14.6k|    static noinline T noinline_ne7(T n) noexcept {
 2598|  14.6k|        return n == 41 || n == 91 ? 0 : T(-1);
  ------------------
  |  Branch (2598:16): [True: 0, False: 14.6k]
  |  Branch (2598:27): [True: 0, False: 14.6k]
  ------------------
 2599|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IaEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IhEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IsEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8ItEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IiEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IjEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IxEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IyEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8InEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne8IoEET_S2_:
 2601|  14.6k|    static noinline T noinline_ne8(T n) noexcept {
 2602|  14.6k|        return n == 41 || n == 91 || n == 117 ? 0 : T(-1);
  ------------------
  |  Branch (2602:16): [True: 0, False: 14.6k]
  |  Branch (2602:27): [True: 0, False: 14.6k]
  |  Branch (2602:38): [True: 0, False: 14.6k]
  ------------------
 2603|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IaEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IhEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IsEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9ItEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IiEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IjEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IxEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IyEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9InEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_ne9IoEET_S2_:
 2605|  14.6k|    static noinline T noinline_ne9(T n) noexcept {
 2606|  14.6k|        return n == 41 || n == 91 || n == 117 || n == 127 ? 0 : T(-1);
  ------------------
  |  Branch (2606:16): [True: 0, False: 14.6k]
  |  Branch (2606:27): [True: 0, False: 14.6k]
  |  Branch (2606:38): [True: 0, False: 14.6k]
  |  Branch (2606:50): [True: 0, False: 14.6k]
  ------------------
 2607|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IaEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IhEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IsEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6ItEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IiEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IjEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IxEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IyEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6InEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw6IoEET_S2_:
 2610|  14.6k|    static noinline T noinline_sw6(T n) noexcept {
 2611|  14.6k|        switch (n) {
  ------------------
  |  Branch (2611:17): [True: 0, False: 14.6k]
  ------------------
 2612|      0|        case 41:
  ------------------
  |  Branch (2612:9): [True: 0, False: 14.6k]
  ------------------
 2613|      0|            return 0;
 2614|  14.6k|        }
 2615|  14.6k|        return T(-1);
 2616|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IaEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IhEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IsEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7ItEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IiEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IjEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IxEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IyEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7InEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw7IoEET_S2_:
 2618|  14.6k|    static noinline T noinline_sw7(T n) noexcept {
 2619|  14.6k|        switch (n) {
  ------------------
  |  Branch (2619:17): [True: 0, False: 14.6k]
  ------------------
 2620|      0|        case 41:
  ------------------
  |  Branch (2620:9): [True: 0, False: 14.6k]
  ------------------
 2621|      0|        case 91:
  ------------------
  |  Branch (2621:9): [True: 0, False: 14.6k]
  ------------------
 2622|      0|            return 0;
 2623|  14.6k|        }
 2624|  14.6k|        return T(-1);
 2625|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IaEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IhEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IsEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8ItEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IiEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IjEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IxEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IyEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8InEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw8IoEET_S2_:
 2627|  14.6k|    static noinline T noinline_sw8(T n) noexcept {
 2628|  14.6k|        switch (n) {
  ------------------
  |  Branch (2628:17): [True: 0, False: 14.6k]
  ------------------
 2629|      0|        case 41:
  ------------------
  |  Branch (2629:9): [True: 0, False: 14.6k]
  ------------------
 2630|      0|        case 91:
  ------------------
  |  Branch (2630:9): [True: 0, False: 14.6k]
  ------------------
 2631|      0|        case 117:
  ------------------
  |  Branch (2631:9): [True: 0, False: 14.6k]
  ------------------
 2632|      0|            return 0;
 2633|  14.6k|        }
 2634|  14.6k|        return T(-1);
 2635|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IaEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IhEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IsEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9ItEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IiEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IjEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IxEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IyEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9InEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_sw9IoEET_S2_:
 2637|  14.6k|    static noinline T noinline_sw9(T n) noexcept {
 2638|  14.6k|        switch (n) {
  ------------------
  |  Branch (2638:17): [True: 0, False: 14.6k]
  ------------------
 2639|      0|        case 41:
  ------------------
  |  Branch (2639:9): [True: 0, False: 14.6k]
  ------------------
 2640|      0|        case 91:
  ------------------
  |  Branch (2640:9): [True: 0, False: 14.6k]
  ------------------
 2641|      0|        case 117:
  ------------------
  |  Branch (2641:9): [True: 0, False: 14.6k]
  ------------------
 2642|      0|        case 127:
  ------------------
  |  Branch (2642:9): [True: 0, False: 14.6k]
  ------------------
 2643|      0|            return 0;
 2644|  14.6k|        }
 2645|  14.6k|        return T(-1);
 2646|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_36v:
 4257|  14.6k|TEST_CASE("codegen float") {
 4258|  14.6k|    const int n = acc_vget_int(0, 0);
 4259|  14.6k|    const int a = acc_vget_int(0, 0);
 4260|  14.6k|    const int b = acc_vget_int(1, 0);
 4261|       |#if defined(__FAST_MATH__)
 4262|       |    if (acc_vget_int(1, 0))
 4263|       |        return;
 4264|       |#endif
 4265|  14.6k|    {
 4266|  14.6k|        assert_noexcept2((TestFloat::noinline_ceil(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4267|  14.6k|        assert_noexcept2((TestFloat::noinline_ceil(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4268|  14.6k|        assert_noexcept2((TestFloat::noinline_floor(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4269|  14.6k|        assert_noexcept2((TestFloat::noinline_floor(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4270|  14.6k|        assert_noexcept2((TestFloat::noinline_lround(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4271|  14.6k|        assert_noexcept2((TestFloat::noinline_lround(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4272|  14.6k|        assert_noexcept2((TestFloat::noinline_round(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4273|  14.6k|        assert_noexcept2((TestFloat::noinline_round(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4274|  14.6k|        assert_noexcept2((TestFloat::noinline_trunc(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4275|  14.6k|        assert_noexcept2((TestFloat::noinline_trunc(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4276|  14.6k|    }
 4277|  14.6k|    {
 4278|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4279|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4280|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4281|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4282|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2p(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4283|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2p(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4284|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2m(float(b), float(a)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4285|  14.6k|        assert_noexcept2((TestFloat::noinline_sqrt2m(double(b), double(a)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4286|  14.6k|        assert_noexcept2((TestFloat::noinline_min(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4287|  14.6k|        assert_noexcept2((TestFloat::noinline_min(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4288|  14.6k|        assert_noexcept2((TestFloat::noinline_max(float(a), float(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4289|  14.6k|        assert_noexcept2((TestFloat::noinline_max(double(a), double(b)) == 1));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4290|  14.6k|    }
 4291|  14.6k|    {
 4292|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 4293|       |#else
 4294|  14.6k|        assert_noexcept2((TestFloat::noinline_sin(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4295|  14.6k|        assert_noexcept2((TestFloat::noinline_sin(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4296|  14.6k|        assert_noexcept2((TestFloat::noinline_cos(float(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4297|  14.6k|        assert_noexcept2((TestFloat::noinline_cos(double(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4298|  14.6k|        assert_noexcept2((TestFloat::noinline_tan(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4299|  14.6k|        assert_noexcept2((TestFloat::noinline_tan(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4300|  14.6k|        assert_noexcept2((TestFloat::noinline_asin(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4301|  14.6k|        assert_noexcept2((TestFloat::noinline_asin(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4302|  14.6k|        assert_noexcept2((TestFloat::noinline_acos(float(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4303|  14.6k|        assert_noexcept2((TestFloat::noinline_acos(double(n)) != 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4304|  14.6k|        assert_noexcept2((TestFloat::noinline_atan(float(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4305|  14.6k|        assert_noexcept2((TestFloat::noinline_atan(double(n)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4306|  14.6k|        assert_noexcept2((TestFloat::noinline_atan2(float(a), float(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4307|  14.6k|        assert_noexcept2((TestFloat::noinline_atan2(double(a), double(b)) == 0));
  ------------------
  |  |  516|  14.6k|#define assert_noexcept2(e) (assertFailed(e, #e, __FILE__, __LINE__, __func__))
  ------------------
 4308|  14.6k|#endif
 4309|  14.6k|    }
 4310|  14.6k|    (void) n;
 4311|  14.6k|    (void) a;
 4312|  14.6k|    (void) b;
 4313|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_ceilIfEET_S2_:
 2651|  14.6k|    static noinline T noinline_ceil(T n) noexcept {
 2652|  14.6k|        return std::ceil(n);
 2653|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_ceilIdEET_S2_:
 2651|  14.6k|    static noinline T noinline_ceil(T n) noexcept {
 2652|  14.6k|        return std::ceil(n);
 2653|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_floorIfEET_S2_:
 2655|  14.6k|    static noinline T noinline_floor(T n) noexcept {
 2656|  14.6k|        return std::floor(n);
 2657|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_floorIdEET_S2_:
 2655|  14.6k|    static noinline T noinline_floor(T n) noexcept {
 2656|  14.6k|        return std::floor(n);
 2657|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_lroundIfEElT_:
 2659|  14.6k|    static noinline long noinline_lround(T n) noexcept {
 2660|       |        // return std::lround(n);
 2661|  14.6k|        return lround(n);
 2662|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_lroundIdEElT_:
 2659|  14.6k|    static noinline long noinline_lround(T n) noexcept {
 2660|       |        // return std::lround(n);
 2661|  14.6k|        return lround(n);
 2662|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_roundIfEET_S2_:
 2664|  14.6k|    static noinline T noinline_round(T n) noexcept {
 2665|       |        // return std::round(n);
 2666|  14.6k|        return round(n);
 2667|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_roundIdEET_S2_:
 2664|  14.6k|    static noinline T noinline_round(T n) noexcept {
 2665|       |        // return std::round(n);
 2666|  14.6k|        return round(n);
 2667|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_truncIfEET_S2_:
 2669|  14.6k|    static noinline T noinline_trunc(T n) noexcept {
 2670|       |        // return std::trunc(n);
 2671|  14.6k|        return trunc(n);
 2672|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_truncIdEET_S2_:
 2669|  14.6k|    static noinline T noinline_trunc(T n) noexcept {
 2670|       |        // return std::trunc(n);
 2671|  14.6k|        return trunc(n);
 2672|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_sqrtIfEET_S2_:
 2675|  14.6k|    static noinline T noinline_sqrt(T n) noexcept {
 2676|  14.6k|        return std::sqrt(n);
 2677|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_sqrtIdEET_S2_:
 2675|  14.6k|    static noinline T noinline_sqrt(T n) noexcept {
 2676|  14.6k|        return std::sqrt(n);
 2677|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_sqrt2IfEET_S2_:
 2679|  14.6k|    static noinline T noinline_sqrt2(T n) noexcept {
 2680|  14.6k|        return std::sqrt(n * n);
 2681|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_sqrt2IdEET_S2_:
 2679|  14.6k|    static noinline T noinline_sqrt2(T n) noexcept {
 2680|  14.6k|        return std::sqrt(n * n);
 2681|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_sqrt2pIfEET_S2_S2_:
 2683|  14.6k|    static noinline T noinline_sqrt2p(T a, T b) noexcept {
 2684|  14.6k|        return std::sqrt(a * a + b * b);
 2685|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_sqrt2pIdEET_S2_S2_:
 2683|  14.6k|    static noinline T noinline_sqrt2p(T a, T b) noexcept {
 2684|  14.6k|        return std::sqrt(a * a + b * b);
 2685|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_sqrt2mIfEET_S2_S2_:
 2687|  14.6k|    static noinline T noinline_sqrt2m(T a, T b) noexcept {
 2688|  14.6k|        return std::sqrt(a * a - b * b);
 2689|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat15noinline_sqrt2mIdEET_S2_S2_:
 2687|  14.6k|    static noinline T noinline_sqrt2m(T a, T b) noexcept {
 2688|  14.6k|        return std::sqrt(a * a - b * b);
 2689|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_minIfEET_S2_S2_:
 2692|  14.6k|    static noinline T noinline_min(T a, T b) noexcept {
 2693|  14.6k|        return b < a ? b : a;
  ------------------
  |  Branch (2693:16): [True: 0, False: 14.6k]
  ------------------
 2694|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_minIdEET_S2_S2_:
 2692|  14.6k|    static noinline T noinline_min(T a, T b) noexcept {
 2693|  14.6k|        return b < a ? b : a;
  ------------------
  |  Branch (2693:16): [True: 0, False: 14.6k]
  ------------------
 2694|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_maxIfEET_S2_S2_:
 2696|  14.6k|    static noinline T noinline_max(T a, T b) noexcept {
 2697|  14.6k|        return a < b ? b : a;
  ------------------
  |  Branch (2697:16): [True: 14.6k, False: 0]
  ------------------
 2698|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_maxIdEET_S2_S2_:
 2696|  14.6k|    static noinline T noinline_max(T a, T b) noexcept {
 2697|  14.6k|        return a < b ? b : a;
  ------------------
  |  Branch (2697:16): [True: 14.6k, False: 0]
  ------------------
 2698|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_sinIfEET_S2_:
 2701|  14.6k|    static noinline T noinline_sin(T n) noexcept {
 2702|  14.6k|        return std::sin(n);
 2703|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_sinIdEET_S2_:
 2701|  14.6k|    static noinline T noinline_sin(T n) noexcept {
 2702|  14.6k|        return std::sin(n);
 2703|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_cosIfEET_S2_:
 2705|  14.6k|    static noinline T noinline_cos(T n) noexcept {
 2706|  14.6k|        return std::cos(n);
 2707|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_cosIdEET_S2_:
 2705|  14.6k|    static noinline T noinline_cos(T n) noexcept {
 2706|  14.6k|        return std::cos(n);
 2707|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_tanIfEET_S2_:
 2709|  14.6k|    static noinline T noinline_tan(T n) noexcept {
 2710|  14.6k|        return std::tan(n);
 2711|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat12noinline_tanIdEET_S2_:
 2709|  14.6k|    static noinline T noinline_tan(T n) noexcept {
 2710|  14.6k|        return std::tan(n);
 2711|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_asinIfEET_S2_:
 2713|  14.6k|    static noinline T noinline_asin(T n) noexcept {
 2714|  14.6k|        return std::asin(n);
 2715|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_asinIdEET_S2_:
 2713|  14.6k|    static noinline T noinline_asin(T n) noexcept {
 2714|  14.6k|        return std::asin(n);
 2715|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_acosIfEET_S2_:
 2717|  14.6k|    static noinline T noinline_acos(T n) noexcept {
 2718|  14.6k|        return std::acos(n);
 2719|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_acosIdEET_S2_:
 2717|  14.6k|    static noinline T noinline_acos(T n) noexcept {
 2718|  14.6k|        return std::acos(n);
 2719|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_atanIfEET_S2_:
 2721|  14.6k|    static noinline T noinline_atan(T n) noexcept {
 2722|  14.6k|        return std::atan(n);
 2723|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat13noinline_atanIdEET_S2_:
 2721|  14.6k|    static noinline T noinline_atan(T n) noexcept {
 2722|  14.6k|        return std::atan(n);
 2723|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_atan2IfEET_S2_S2_:
 2725|  14.6k|    static noinline T noinline_atan2(T a, T b) noexcept {
 2726|  14.6k|        return std::atan2(a, b);
 2727|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_19TestFloat14noinline_atan2IdEET_S2_S2_:
 2725|  14.6k|    static noinline T noinline_atan2(T a, T b) noexcept {
 2726|  14.6k|        return std::atan2(a, b);
 2727|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_38v:
 4315|  14.6k|TEST_CASE("codegen") {
 4316|  14.6k|    const int n = acc_vget_int(2, 0);
 4317|  14.6k|    {
 4318|  14.6k|        typedef byte T;
 4319|  14.6k|        T buf[4] = {0, 1, 2, 3};
 4320|  14.6k|        const T v = T(acc_vget_int(0, 0));
 4321|       |
 4322|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4323|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4324|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4325|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4326|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4327|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4328|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4329|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4330|       |
 4331|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4332|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4333|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4334|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4335|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4336|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4337|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4338|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4339|       |
 4340|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4341|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4342|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4343|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4344|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4345|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4346|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4347|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4348|       |
 4349|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4350|  14.6k|        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.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4351|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4352|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4353|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4354|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4355|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4356|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4357|       |
 4358|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4359|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4360|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4361|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4362|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4363|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4364|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4365|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4366|       |
 4367|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4368|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4369|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4370|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4371|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4372|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4373|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4374|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4375|       |
 4376|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4377|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4378|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4379|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4380|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4381|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4382|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4383|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4384|       |
 4385|  14.6k|        (void) buf;
 4386|  14.6k|        (void) v;
 4387|  14.6k|    }
 4388|  14.6k|    {
 4389|  14.6k|        typedef upx_int32_t T;
 4390|  14.6k|        T buf[4] = {0, 1, 2, 3};
 4391|  14.6k|        const T v = T(acc_vget_int(0, 0));
 4392|       |
 4393|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4394|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4395|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4396|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4397|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4398|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4399|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4400|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4401|       |
 4402|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4403|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4404|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4405|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4406|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4407|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4408|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4409|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4410|       |
 4411|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4412|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4413|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4414|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4415|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4416|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4417|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4418|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4419|       |
 4420|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4421|  14.6k|        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.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4422|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4423|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4424|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4425|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4426|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4427|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4428|       |
 4429|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4430|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4431|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4432|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4433|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4434|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4435|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4436|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4437|       |
 4438|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4439|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4440|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4441|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4442|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4443|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4444|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4445|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4446|       |
 4447|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4448|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4449|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4450|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4451|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4452|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4453|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4454|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4455|       |
 4456|  14.6k|        (void) buf;
 4457|  14.6k|        (void) v;
 4458|  14.6k|    }
 4459|  14.6k|    {
 4460|  14.6k|        typedef upx_uint64_t T;
 4461|  14.6k|        T buf[4] = {0, 1, 2, 3};
 4462|  14.6k|        const T v = T(acc_vget_int(0, 0));
 4463|       |
 4464|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4465|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4466|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4467|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4468|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4469|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4470|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4471|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4472|       |
 4473|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4474|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4475|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4476|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4477|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4478|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4479|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4480|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4481|       |
 4482|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4483|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4484|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4485|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4486|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4487|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4488|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4489|  14.6k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4490|       |
 4491|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4492|  14.6k|        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.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4493|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4494|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4495|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4496|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4497|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4498|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4499|       |
 4500|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4501|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4502|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4503|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4504|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4505|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4506|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4507|  14.6k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4508|       |
 4509|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        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.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4510|  14.6k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4511|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4512|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4513|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4514|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4515|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4516|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4517|       |
 4518|      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.6k|        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.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4519|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4520|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4521|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4522|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4523|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4524|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4525|  14.6k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4526|       |
 4527|  14.6k|        (void) buf;
 4528|  14.6k|        (void) v;
 4529|  14.6k|    }
 4530|  14.6k|#if (__SIZEOF_INT128__ == 16)
 4531|  14.6k|    {
 4532|  14.6k|        typedef upx_uint128_t T;
 4533|  14.6k|        T buf[4] = {0, 1, 2, 3};
 4534|       |
 4535|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4536|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4537|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4538|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4539|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4540|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4541|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4542|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4543|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int128_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4544|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint128_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4545|       |
 4546|  14.6k|        (void) buf;
 4547|  14.6k|    }
 4548|  14.6k|#endif
 4549|  14.6k|    {
 4550|  14.6k|        struct alignas(1) T16 final { byte a[16]; };
 4551|  14.6k|        typedef T16 T;
 4552|  14.6k|        T buf[2] = {};
 4553|       |
 4554|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4555|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4556|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4557|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4558|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4559|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4560|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4561|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4562|       |
 4563|  14.6k|        (void) buf;
 4564|  14.6k|    }
 4565|  14.6k|    {
 4566|  14.6k|        struct alignas(1) T32 final { byte a[32]; };
 4567|  14.6k|        typedef T32 T;
 4568|  14.6k|        T buf[2] = {};
 4569|       |
 4570|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4571|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4572|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4573|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4574|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4575|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4576|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4577|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4578|       |
 4579|  14.6k|        (void) buf;
 4580|  14.6k|    }
 4581|  14.6k|    {
 4582|  14.6k|        struct alignas(1) T64 final { byte a[64]; };
 4583|  14.6k|        typedef T64 T;
 4584|  14.6k|        T buf[2] = {};
 4585|       |
 4586|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4587|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4588|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4589|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4590|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4591|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4592|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4593|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4594|       |
 4595|  14.6k|        (void) buf;
 4596|  14.6k|    }
 4597|  14.6k|    {
 4598|  14.6k|        struct alignas(1) T473 final { byte a[473]; };
 4599|  14.6k|        typedef T473 T;
 4600|  14.6k|        T buf[2] = {};
 4601|       |
 4602|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4603|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4604|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4605|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4606|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4607|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4608|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4609|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4610|       |
 4611|  14.6k|        (void) buf;
 4612|  14.6k|    }
 4613|  14.6k|    {
 4614|  14.6k|        struct alignas(1) T1024 final { byte a[1024]; };
 4615|  14.6k|        typedef T1024 T;
 4616|  14.6k|        T buf[2] = {};
 4617|       |
 4618|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4619|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4620|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4621|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4622|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4623|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4624|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4625|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4626|       |
 4627|  14.6k|        (void) buf;
 4628|  14.6k|    }
 4629|  14.6k|    {
 4630|  14.6k|        struct alignas(1) T1025 final { byte a[1025]; };
 4631|  14.6k|        typedef T1025 T;
 4632|  14.6k|        T buf[2] = {};
 4633|       |
 4634|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4635|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4636|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4637|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4638|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4639|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4640|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4641|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4642|       |
 4643|  14.6k|        (void) buf;
 4644|  14.6k|    }
 4645|  14.6k|    {
 4646|  14.6k|        struct alignas(1) T1027 final { byte a[1027]; };
 4647|  14.6k|        typedef T1027 T;
 4648|  14.6k|        T buf[2] = {};
 4649|       |
 4650|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4651|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4652|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4653|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4654|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4655|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4656|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4657|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4658|       |
 4659|  14.6k|        (void) buf;
 4660|  14.6k|    }
 4661|  14.6k|    {
 4662|  14.6k|        struct alignas(1) T1031 final { byte a[1031]; };
 4663|  14.6k|        typedef T1031 T;
 4664|  14.6k|        T buf[2] = {};
 4665|       |
 4666|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4667|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4668|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4669|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4670|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4671|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4672|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4673|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4674|       |
 4675|  14.6k|        (void) buf;
 4676|  14.6k|    }
 4677|  14.6k|    {
 4678|  14.6k|        struct alignas(1) T1039 final { byte a[1039]; };
 4679|  14.6k|        typedef T1039 T;
 4680|  14.6k|        T buf[2] = {};
 4681|       |
 4682|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4683|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4684|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4685|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4686|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4687|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4688|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4689|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4690|       |
 4691|  14.6k|        (void) buf;
 4692|  14.6k|    }
 4693|  14.6k|    {
 4694|  14.6k|        struct alignas(1) T1055 final { byte a[1055]; };
 4695|  14.6k|        typedef T1055 T;
 4696|  14.6k|        T buf[2] = {};
 4697|       |
 4698|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4699|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4700|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4701|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4702|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4703|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4704|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4705|  14.6k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4706|       |
 4707|  14.6k|        (void) buf;
 4708|  14.6k|    }
 4709|  14.6k|    (void) n;
 4710|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIaEEPKhS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIhEEPKhS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIsEEPKhS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrItEEPKhS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIiEEPKhS4_T_:
 2733|  88.0k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  88.0k|        return p + n;
 2735|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIjEEPKhS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIxEEPKhS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIyEEPKhS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIaEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIhEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIsEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedItEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIiEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIjEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIxEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIyEEDaPKhT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIaEEhPKhT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIhEEhPKhT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIsEEhPKhT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrItEEhPKhT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIiEEhPKhT_:
 2737|  88.0k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  88.0k|        return p[n];
 2739|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIjEEhPKhT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIxEEhPKhT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIyEEhPKhT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIaEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIhEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIsEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrItEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIiEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIjEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIxEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIyEEvPhT_h:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IaEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IhEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IsEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1ItEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IiEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IjEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IxEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IyEEhPKhT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IaEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IhEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IsEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1ItEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IiEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IjEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IxEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IyEEvPhT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIaEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIhEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIsEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedItEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIiEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIjEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIxEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIyEEDaPKhT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIaEEPKiS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIhEEPKiS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIsEEPKiS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrItEEPKiS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIiEEPKiS4_T_:
 2733|  88.0k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  88.0k|        return p + n;
 2735|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIjEEPKiS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIxEEPKiS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIyEEPKiS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIaEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIhEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIsEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedItEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIiEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIjEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIxEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIyEEDaPKiT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIaEEiPKiT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIhEEiPKiT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIsEEiPKiT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrItEEiPKiT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIiEEiPKiT_:
 2737|  88.0k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  88.0k|        return p[n];
 2739|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIjEEiPKiT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIxEEiPKiT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIyEEiPKiT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIaEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIhEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIsEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrItEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIiEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIjEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIxEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIyEEvPiT_i:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IaEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IhEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IsEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1ItEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IiEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IjEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IxEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IyEEiPKiT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IaEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IhEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IsEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1ItEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IiEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IjEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IxEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IyEEvPiT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIaEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIhEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIsEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedItEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIiEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIjEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIxEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIyEEDaPKiT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIaEEPKyS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIhEEPKyS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIsEEPKyS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrItEEPKyS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIiEEPKyS4_T_:
 2733|  88.0k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  88.0k|        return p + n;
 2735|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIjEEPKyS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIxEEPKyS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIyEEPKyS4_T_:
 2733|  29.3k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  29.3k|        return p + n;
 2735|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIaEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIhEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIsEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedItEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIiEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIjEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIxEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIyEEDaPKyT_:
 2754|  14.6k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 2755|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2756|  14.6k|        return noinline_add_ptr(p, promoted_type(n));
 2757|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIaEEyPKyT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIhEEyPKyT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIsEEyPKyT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrItEEyPKyT_:
 2737|  14.6k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  14.6k|        return p[n];
 2739|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIiEEyPKyT_:
 2737|  88.0k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  88.0k|        return p[n];
 2739|  88.0k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIjEEyPKyT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIxEEyPKyT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIyEEyPKyT_:
 2737|  29.3k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 2738|  29.3k|        return p[n];
 2739|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIaEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIhEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIsEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrItEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIiEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIjEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIxEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIyEEvPyT_y:
 2741|  14.6k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 2742|  14.6k|        p[n] = v;
 2743|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IaEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IhEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IsEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1ItEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IiEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IjEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IxEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IyEEyPKyT_:
 2745|  14.6k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 2746|  14.6k|        return T(p[n] | 1);
 2747|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IaEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IhEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IsEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1ItEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IiEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IjEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IxEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IyEEvPyT_:
 2749|  14.6k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 2750|  14.6k|        p[n] = T(p[n] | 1);
 2751|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIaEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIhEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIsEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedItEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIiEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIjEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIxEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIyEEDaPKyT_:
 2759|  14.6k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 2760|  14.6k|        typedef decltype(U(0) + U(0)) promoted_type;
 2761|  14.6k|        return noinline_get_ptr(p, promoted_type(n));
 2762|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIaEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIhEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIsEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrItEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIiEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIjEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIxEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIyEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrInEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIoE16noinline_add_ptrIoEEPKoS4_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T16E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T32E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE3T64E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE4T473E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1024E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1025E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1027E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1031E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1039E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIaEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIhEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIsEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrItEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIiEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIjEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIxEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIZL20DOCTEST_ANON_FUNC_38vE5T1055E16noinline_add_ptrIyEEPKS1_S5_T_:
 2733|  14.6k|    static const noinline T *noinline_add_ptr(const T *p, U n) noexcept {
 2734|  14.6k|        return p + n;
 2735|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_40v:
 5134|  14.6k|TEST_CASE("upx::TriBool") {
 5135|  14.6k|    using upx::TriBool, upx::tribool;
 5136|  14.6k|    static_assert(!tribool(false));
 5137|  14.6k|    static_assert(tribool(true));
 5138|  14.6k|    static_assert(!tribool(tribool::Third));
 5139|  14.6k|    TestTriBool<tribool>::test(false);
 5140|  14.6k|#if DEBUG || 1
 5141|  14.6k|    TestTriBool<TriBool<upx_int8_t> >::test(false);
 5142|  14.6k|    TestTriBool<TriBool<upx_uint8_t> >::test(false);
 5143|  14.6k|    TestTriBool<TriBool<upx_int16_t> >::test(false);
 5144|  14.6k|    TestTriBool<TriBool<upx_uint16_t> >::test(false);
 5145|  14.6k|    TestTriBool<TriBool<upx_int32_t> >::test(false);
 5146|  14.6k|    TestTriBool<TriBool<upx_uint32_t> >::test(false);
 5147|  14.6k|    TestTriBool<TriBool<upx_int64_t> >::test(false);
 5148|  14.6k|    TestTriBool<TriBool<upx_uint64_t> >::test(false);
 5149|  14.6k|    TestTriBool<TriBool<upx_int8_t, true> >::test(true);
 5150|  14.6k|    TestTriBool<TriBool<upx_uint8_t, true> >::test(true);
 5151|  14.6k|    TestTriBool<TriBool<upx_int16_t, true> >::test(true);
 5152|  14.6k|    TestTriBool<TriBool<upx_uint16_t, true> >::test(true);
 5153|  14.6k|    TestTriBool<TriBool<upx_int32_t, true> >::test(true);
 5154|  14.6k|    TestTriBool<TriBool<upx_uint32_t, true> >::test(true);
 5155|  14.6k|    TestTriBool<TriBool<upx_int64_t, true> >::test(true);
 5156|  14.6k|    TestTriBool<TriBool<upx_uint64_t, true> >::test(true);
 5157|  14.6k|#endif
 5158|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb0EEEE4testEb:
 5025|  29.3k|    static noinline void test(bool expect_true) {
 5026|  29.3k|        static_assert(std::is_class<T>::value);
 5027|  29.3k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  29.3k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  29.3k|        static_assert(std::is_standard_layout<T>::value);
 5030|  29.3k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  29.3k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  29.3k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  29.3k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  29.3k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  29.3k|#endif
 5047|  29.3k|        static_assert(!bool(T(false)));
 5048|  29.3k|        static_assert(bool(T(true)));
 5049|  29.3k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  29.3k|        static_assert(T(false) == T::False);
 5051|  29.3k|        static_assert(T(true) == T::True);
 5052|  29.3k|        static_assert(T(T::False) == T::False);
 5053|  29.3k|        static_assert(T(T::True) == T::True);
 5054|  29.3k|        static_assert(T(T::Third) == T::Third);
 5055|  29.3k|        static_assert(T(T::Third) == T(9));
 5056|  29.3k|        static_assert(T(8) == T(9));
 5057|  29.3k|        static_assert(!(T(0) == T(9)));
 5058|  29.3k|        static_assert(!(T(1) == T(9)));
 5059|  29.3k|        static_assert(T(T::Third) == 9);
 5060|  29.3k|        static_assert(T(8) == 9);
 5061|  29.3k|        static_assert(!(T(0) == 9));
 5062|  29.3k|        static_assert(!(T(1) == 9));
 5063|  29.3k|        constexpr T array[] = {false, true, T::Third};
 5064|  29.3k|        static_assert(array[0].isStrictFalse());
 5065|  29.3k|        static_assert(array[1].isStrictTrue());
 5066|  29.3k|        static_assert(array[2].isThird());
 5067|  29.3k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  29.3k|        T a;
 5069|  29.3k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  29.3k|        assert(!a);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  29.3k|        assert(!bool(a));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  29.3k|        assert((!a ? true : false));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  29.3k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  29.3k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  29.3k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  29.3k|        assert(!a.isThird());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  29.3k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  29.3k|        assert(!a);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  29.3k|        assert(!bool(a));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  29.3k|        assert((!a ? true : false));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  29.3k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  29.3k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  29.3k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  29.3k|        assert(!a.isThird());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  29.3k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  29.3k|        assert(a);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  29.3k|        assert(bool(a));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  29.3k|        assert((a ? true : false));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  29.3k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  29.3k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  29.3k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  29.3k|        assert(!a.isThird());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  29.3k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  29.3k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  29.3k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 29.3k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  29.3k|        } else {
 5103|  29.3k|            assert(!a);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  29.3k|            assert(!bool(a));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  29.3k|            assert((!a ? true : false));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  29.3k|        }
 5107|  29.3k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  29.3k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  29.3k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  29.3k|        assert(a.isThird());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  29.3k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  29.3k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 29.3k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  29.3k|        } else {
 5119|  29.3k|            assert(!a);
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  29.3k|            assert(!bool(a));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  29.3k|            assert((a ? false : true));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  29.3k|            assert((!a ? true : false));
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  29.3k|        }
 5124|  29.3k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  29.3k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  29.3k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  29.3k|        assert(a.isThird());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  29.3k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  29.3k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb0EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 0, False: 14.6k]
  ------------------
 5099|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|  14.6k|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 0, False: 14.6k]
  ------------------
 5114|      0|            assert(a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|      0|            assert(bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|      0|            assert((a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|      0|            assert((!a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|  14.6k|            assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|  14.6k|            assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|  14.6k|            assert((a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|  14.6k|            assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|  14.6k|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb1EEEE4testEb:
 5025|  14.6k|    static noinline void test(bool expect_true) {
 5026|  14.6k|        static_assert(std::is_class<T>::value);
 5027|  14.6k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 5028|  14.6k|        static_assert(std::is_nothrow_destructible<T>::value);
 5029|  14.6k|        static_assert(std::is_standard_layout<T>::value);
 5030|  14.6k|        static_assert(std::is_trivially_copyable<T>::value);
 5031|  14.6k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 5032|  14.6k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 5033|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 5034|       |        // broken compiler or broken ABI
 5035|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 5036|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5037|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5038|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5039|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 8)
 5040|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5041|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 5042|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 5043|       |#else
 5044|  14.6k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 5045|  14.6k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 5046|  14.6k|#endif
 5047|  14.6k|        static_assert(!bool(T(false)));
 5048|  14.6k|        static_assert(bool(T(true)));
 5049|  14.6k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 5050|  14.6k|        static_assert(T(false) == T::False);
 5051|  14.6k|        static_assert(T(true) == T::True);
 5052|  14.6k|        static_assert(T(T::False) == T::False);
 5053|  14.6k|        static_assert(T(T::True) == T::True);
 5054|  14.6k|        static_assert(T(T::Third) == T::Third);
 5055|  14.6k|        static_assert(T(T::Third) == T(9));
 5056|  14.6k|        static_assert(T(8) == T(9));
 5057|  14.6k|        static_assert(!(T(0) == T(9)));
 5058|  14.6k|        static_assert(!(T(1) == T(9)));
 5059|  14.6k|        static_assert(T(T::Third) == 9);
 5060|  14.6k|        static_assert(T(8) == 9);
 5061|  14.6k|        static_assert(!(T(0) == 9));
 5062|  14.6k|        static_assert(!(T(1) == 9));
 5063|  14.6k|        constexpr T array[] = {false, true, T::Third};
 5064|  14.6k|        static_assert(array[0].isStrictFalse());
 5065|  14.6k|        static_assert(array[1].isStrictTrue());
 5066|  14.6k|        static_assert(array[2].isThird());
 5067|  14.6k|        static_assert(sizeof(array) == 3 * sizeof(T));
 5068|  14.6k|        T a;
 5069|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5070|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5071|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5072|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5073|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5074|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5075|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5076|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5077|      0|        a = false;
 5078|  14.6k|        assert(a.getValue() == T::False);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5079|  14.6k|        assert(!a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5080|  14.6k|        assert(!bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5081|  14.6k|        assert((!a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5082|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5083|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5084|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5085|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5086|      0|        a = true;
 5087|  14.6k|        assert(a.getValue() == T::True);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5088|  14.6k|        assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5089|  14.6k|        assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5090|  14.6k|        assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5091|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5092|  14.6k|        assert(a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5093|  14.6k|        assert(a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5094|  14.6k|        assert(!a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5095|      0|        a = T::Third;
 5096|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5097|  14.6k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5098|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5098:13): [True: 14.6k, False: 0]
  ------------------
 5099|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5100|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5101|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5102|  14.6k|        } else {
 5103|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5104|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5105|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5106|      0|        }
 5107|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5108|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5109|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5110|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5111|      0|        a = 99;
 5112|  14.6k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5113|  14.6k|        if (expect_true) {
  ------------------
  |  Branch (5113:13): [True: 14.6k, False: 0]
  ------------------
 5114|  14.6k|            assert(a);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5115|  14.6k|            assert(bool(a));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5116|  14.6k|            assert((a ? true : false));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5117|  14.6k|            assert((!a ? false : true));
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5118|  14.6k|        } else {
 5119|      0|            assert(!a);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5120|      0|            assert(!bool(a));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5121|      0|            assert((a ? false : true));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5122|      0|            assert((!a ? true : false));
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5123|      0|        }
 5124|  14.6k|        assert(!a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5125|  14.6k|        assert(!a.isStrictTrue());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5126|  14.6k|        assert(!a.isStrictBool());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5127|  14.6k|        assert(a.isThird());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5128|      0|        mem_clear(&a);
 5129|  14.6k|        assert(a.isStrictFalse());
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5130|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_42v:
 5288|  14.6k|TEST_CASE("xspan codegen") {
 5289|       |    // typedef byte T;
 5290|  14.6k|    typedef int T;
 5291|  14.6k|    T buf[4] = {0, 1, 2, 3};
 5292|  14.6k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
 5293|  14.6k|    {
 5294|  14.6k|        auto r = TestXSpanCG<T>::make_span_0_0(buf, bytes);
 5295|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5296|  14.6k|    }
 5297|  14.6k|    {
 5298|  14.6k|        auto r = TestXSpanCG<T>::make_span_p_0(buf, bytes);
 5299|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5300|  14.6k|    }
 5301|  14.6k|    {
 5302|  14.6k|        auto r = TestXSpanCG<T>::make_span_s_0(buf, bytes);
 5303|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5304|  14.6k|    }
 5305|  14.6k|    {
 5306|  14.6k|        auto r = TestXSpanCG<T>::make_span_0_p(buf, bytes);
 5307|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5308|  14.6k|    }
 5309|  14.6k|    {
 5310|  14.6k|        auto r = TestXSpanCG<T>::make_span_p_p(buf, bytes);
 5311|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5312|  14.6k|    }
 5313|  14.6k|    {
 5314|  14.6k|        auto r = TestXSpanCG<T>::make_span_s_p(buf, bytes);
 5315|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5316|  14.6k|    }
 5317|  14.6k|    {
 5318|  14.6k|        auto r = TestXSpanCG<T>::make_span_0_s(buf, bytes);
 5319|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5320|  14.6k|    }
 5321|  14.6k|    {
 5322|  14.6k|        auto r = TestXSpanCG<T>::make_span_p_s(buf, bytes);
 5323|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5324|  14.6k|    }
 5325|  14.6k|    {
 5326|  14.6k|        auto r = TestXSpanCG<T>::make_span_s_s(buf, bytes);
 5327|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5328|  14.6k|    }
 5329|  14.6k|    {
 5330|  14.6k|        auto r = TestXSpanCG<T>::var_span_0(buf, bytes);
 5331|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5332|  14.6k|    }
 5333|  14.6k|    {
 5334|  14.6k|        auto r = TestXSpanCG<T>::var_span_p(buf, bytes);
 5335|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5336|  14.6k|    }
 5337|  14.6k|    {
 5338|  14.6k|        auto r = TestXSpanCG<T>::var_span_s(buf, bytes);
 5339|  14.6k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5340|  14.6k|    }
 5341|  14.6k|    {
 5342|  14.6k|        auto r = TestXSpanCG<T>::type_cast_0(buf, bytes);
 5343|  14.6k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5344|  14.6k|    }
 5345|  14.6k|    {
 5346|  14.6k|        auto r = TestXSpanCG<T>::type_cast_p(buf, bytes);
 5347|  14.6k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5348|  14.6k|    }
 5349|  14.6k|    {
 5350|  14.6k|        auto r = TestXSpanCG<T>::type_cast_s(buf, bytes);
 5351|  14.6k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5352|  14.6k|    }
 5353|  14.6k|    {
 5354|  14.6k|        auto r = TestXSpanCG<T>::invalidate_0(buf, bytes);
 5355|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 5356|       |        (void) r;
 5357|       |#else
 5358|  14.6k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5359|  14.6k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5360|  14.6k|#endif
 5361|  14.6k|    }
 5362|  14.6k|    {
 5363|  14.6k|        auto r = TestXSpanCG<T>::invalidate_p(buf, bytes);
 5364|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 5365|       |        (void) r;
 5366|       |#else
 5367|  14.6k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5368|  14.6k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5369|  14.6k|#endif
 5370|  14.6k|    }
 5371|  14.6k|    {
 5372|  14.6k|        auto r = TestXSpanCG<T>::invalidate_s(buf, bytes);
 5373|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 5374|       |        (void) r;
 5375|       |#else
 5376|  14.6k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5377|  14.6k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5378|  14.6k|#endif
 5379|  14.6k|    }
 5380|  14.6k|    {
 5381|  14.6k|        auto r0 = TestXSpanCG<T>::var_span_0(buf, bytes);
 5382|  14.6k|        auto r1 = TestXSpanCG<T>::var_span_0(buf + 1, bytes - sizeof(T));
 5383|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5384|  14.6k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5385|  14.6k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5386|  14.6k|    }
 5387|  14.6k|    {
 5388|  14.6k|        auto r0 = TestXSpanCG<T>::var_span_p(buf, bytes);
 5389|  14.6k|        auto r1 = TestXSpanCG<T>::var_span_p(buf + 1, bytes - sizeof(T));
 5390|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5391|  14.6k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5392|  14.6k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5393|  14.6k|    }
 5394|  14.6k|    {
 5395|  14.6k|        auto r0 = TestXSpanCG<T>::var_span_s(buf, bytes);
 5396|  14.6k|        auto r1 = TestXSpanCG<T>::var_span_s(buf + 1, bytes - sizeof(T));
 5397|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5398|  14.6k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5399|  14.6k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5400|  14.6k|    }
 5401|  14.6k|    {
 5402|  14.6k|        auto r0 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5403|  14.6k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5404|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5405|  14.6k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5406|  14.6k|    }
 5407|  14.6k|    {
 5408|  14.6k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5409|  14.6k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5410|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5411|  14.6k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5412|  14.6k|    }
 5413|  14.6k|    {
 5414|  14.6k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5415|  14.6k|        auto r1 = XSPAN_0_MAKE(const T, XSPAN_0_MAKE(T, nullptr));
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5416|  14.6k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5417|  14.6k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5418|  14.6k|    }
 5419|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5420|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5421|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5422|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5423|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5424|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5425|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5426|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5427|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5428|  14.6k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5429|  14.6k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5430|  14.6k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5431|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_0(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5432|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_p(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5433|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_s(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5434|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5435|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5436|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5437|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 5438|       |#else
 5439|  14.6k|    CHECK(TestXSpanCG<T>::invalidate_0(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5440|  14.6k|    CHECK(TestXSpanCG<T>::invalidate_p(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5441|  14.6k|    CHECK(TestXSpanCG<T>::invalidate_s(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5442|  14.6k|#endif
 5443|  14.6k|    (void) buf;
 5444|  14.6k|    (void) bytes;
 5445|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_0EPim:
 5168|  29.3k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
 5169|  29.3k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.3k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5170|  29.3k|        (void) bytes;
 5171|  29.3k|        return r;
 5172|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_0EPim:
 5173|  29.3k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
 5174|  29.3k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.3k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5175|  29.3k|        (void) bytes;
 5176|  29.3k|        return r;
 5177|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_0EPim:
 5178|  29.3k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
 5179|  29.3k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.3k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5180|  29.3k|        (void) bytes;
 5181|  29.3k|        return r;
 5182|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_pEPim:
 5184|  29.3k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
 5185|  29.3k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.3k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5186|  29.3k|        (void) bytes;
 5187|  29.3k|        return r;
 5188|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_pEPim:
 5189|  29.3k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
 5190|  29.3k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.3k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5191|  29.3k|        (void) bytes;
 5192|  29.3k|        return r;
 5193|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_pEPim:
 5194|  29.3k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
 5195|  29.3k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.3k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5196|  29.3k|        (void) bytes;
 5197|  29.3k|        return r;
 5198|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_sEPim:
 5200|  29.3k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
 5201|  29.3k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.3k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5202|  29.3k|        (void) bytes;
 5203|  29.3k|        return r;
 5204|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_sEPim:
 5205|  29.3k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
 5206|  29.3k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.3k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5207|  29.3k|        (void) bytes;
 5208|  29.3k|        return r;
 5209|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_sEPim:
 5210|  29.3k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
 5211|  29.3k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.3k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5212|  29.3k|        (void) bytes;
 5213|  29.3k|        return r;
 5214|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_0EPim:
 5217|  58.7k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
 5218|  58.7k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  58.7k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  58.7k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  58.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5219|  58.7k|        (void) bytes;
 5220|  58.7k|        return r;
 5221|  58.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_pEPim:
 5222|  58.7k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
 5223|  58.7k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  58.7k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  58.7k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  58.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5224|  58.7k|        (void) bytes;
 5225|  58.7k|        return r;
 5226|  58.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_sEPim:
 5227|  58.7k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
 5228|  58.7k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  58.7k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  58.7k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  58.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  58.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  58.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5229|  58.7k|        (void) bytes;
 5230|  58.7k|        return r;
 5231|  58.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_0EPim:
 5234|  29.3k|    static noinline XSPAN_0(LE32) type_cast_0(T *p, size_t bytes) {
 5235|  29.3k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  29.3k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5236|  29.3k|        (void) bytes;
 5237|  29.3k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5238|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_pEPim:
 5239|  29.3k|    static noinline XSPAN_P(LE32) type_cast_p(T *p, size_t bytes) {
 5240|  29.3k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  29.3k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5241|  29.3k|        (void) bytes;
 5242|  29.3k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5243|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_sEPim:
 5244|  29.3k|    static noinline XSPAN_S(LE32) type_cast_s(T *p, size_t bytes) {
 5245|  29.3k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  29.3k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5246|  29.3k|        (void) bytes;
 5247|  29.3k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5248|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_0EPim:
 5267|  29.3k|    static noinline XSPAN_0(T) invalidate_0(T *p, size_t bytes) {
 5268|  29.3k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  29.3k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5269|  29.3k|        (void) bytes;
 5270|  29.3k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.3k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
 5271|  29.3k|        return r;
 5272|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_pEPim:
 5273|  29.3k|    static noinline XSPAN_P(T) invalidate_p(T *p, size_t bytes) {
 5274|  29.3k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  29.3k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5275|  29.3k|        (void) bytes;
 5276|  29.3k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.3k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
 5277|  29.3k|        return r;
 5278|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_sEPim:
 5279|  29.3k|    static noinline XSPAN_S(T) invalidate_s(T *p, size_t bytes) {
 5280|  29.3k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  29.3k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5281|  29.3k|        (void) bytes;
 5282|  29.3k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.3k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
 5283|  29.3k|        return r;
 5284|  29.3k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_0EPim:
 5250|  14.6k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
 5251|  14.6k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5252|  14.6k|        (void) bytes;
 5253|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_pEPim:
 5255|  14.6k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
 5256|  14.6k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5257|  14.6k|        (void) bytes;
 5258|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5259|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_sEPim:
 5260|  14.6k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
 5261|  14.6k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5262|  14.6k|        (void) bytes;
 5263|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5264|  14.6k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_44v:
 5447|  14.6k|TEST_CASE("xspan codegen const") {
 5448|  14.6k|    typedef const byte T;
 5449|       |    // typedef const int T;
 5450|  14.6k|    T buf[4] = {0, 1, 2, 3};
 5451|  14.6k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
 5452|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5453|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5454|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5455|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5456|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5457|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5458|  14.6k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5459|  14.6k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5460|  14.6k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5461|  14.6k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5462|  14.6k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5463|  14.6k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5464|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5465|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5466|  14.6k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5467|  14.6k|    (void) buf;
 5468|  14.6k|    (void) bytes;
 5469|  14.6k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_0EPS1_m:
 5168|  14.6k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
 5169|  14.6k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5170|  14.6k|        (void) bytes;
 5171|  14.6k|        return r;
 5172|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_0EPS1_m:
 5173|  14.6k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
 5174|  14.6k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5175|  14.6k|        (void) bytes;
 5176|  14.6k|        return r;
 5177|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_0EPS1_m:
 5178|  14.6k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
 5179|  14.6k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5180|  14.6k|        (void) bytes;
 5181|  14.6k|        return r;
 5182|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_pEPS1_m:
 5184|  14.6k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
 5185|  14.6k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.6k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5186|  14.6k|        (void) bytes;
 5187|  14.6k|        return r;
 5188|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_pEPS1_m:
 5189|  14.6k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
 5190|  14.6k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.6k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5191|  14.6k|        (void) bytes;
 5192|  14.6k|        return r;
 5193|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_pEPS1_m:
 5194|  14.6k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
 5195|  14.6k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.6k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5196|  14.6k|        (void) bytes;
 5197|  14.6k|        return r;
 5198|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_sEPS1_m:
 5200|  14.6k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
 5201|  14.6k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5202|  14.6k|        (void) bytes;
 5203|  14.6k|        return r;
 5204|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_sEPS1_m:
 5205|  14.6k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
 5206|  14.6k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5207|  14.6k|        (void) bytes;
 5208|  14.6k|        return r;
 5209|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_sEPS1_m:
 5210|  14.6k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
 5211|  14.6k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5212|  14.6k|        (void) bytes;
 5213|  14.6k|        return r;
 5214|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_0EPS1_m:
 5217|  14.6k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
 5218|  14.6k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5219|  14.6k|        (void) bytes;
 5220|  14.6k|        return r;
 5221|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_pEPS1_m:
 5222|  14.6k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
 5223|  14.6k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5224|  14.6k|        (void) bytes;
 5225|  14.6k|        return r;
 5226|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_sEPS1_m:
 5227|  14.6k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
 5228|  14.6k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5229|  14.6k|        (void) bytes;
 5230|  14.6k|        return r;
 5231|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_0EPS1_m:
 5250|  14.6k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
 5251|  14.6k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5252|  14.6k|        (void) bytes;
 5253|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5254|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_pEPS1_m:
 5255|  14.6k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
 5256|  14.6k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5257|  14.6k|        (void) bytes;
 5258|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5259|  14.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_sEPS1_m:
 5260|  14.6k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
 5261|  14.6k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 5262|  14.6k|        (void) bytes;
 5263|  14.6k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
 5264|  14.6k|    }

dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   35|  14.6k|TEST_CASE("raw_bytes ptr") {
   36|  14.6k|    upx_uint16_t *ptr = nullptr;
   37|  14.6k|    CHECK_NOTHROW(raw_bytes(ptr, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   38|  14.6k|    CHECK_THROWS(raw_bytes(ptr, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|  14.6k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   40|  14.6k|    CHECK_THROWS(raw_index_bytes(ptr, 1, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   41|  14.6k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   42|  14.6k|    upx_uint16_t buf[4];
   43|  14.6k|    ptr = buf;
   44|  14.6k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 1, 1), ptr) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  14.6k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 4, 0), ptr) == 8u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   46|  14.6k|    UNUSED(ptr);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   47|  14.6k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
   49|  14.6k|TEST_CASE("raw_bytes bounded array") {
   50|  14.6k|    upx_uint16_t buf[4];
   51|  14.6k|    CHECK_NOTHROW(raw_bytes(buf, 8));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.6k|    CHECK_THROWS(raw_bytes(buf, 9));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.6k|    CHECK_NOTHROW(raw_index_bytes(buf, 4, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.6k|    CHECK_THROWS(raw_index_bytes(buf, 4, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  14.6k|    CHECK_NOTHROW(raw_index_bytes(buf, 3, 2));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|  14.6k|    CHECK_THROWS(raw_index_bytes(buf, 3, 3));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   57|  14.6k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 1, 1), buf) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   58|  14.6k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 4, 0), buf) == 8u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   59|  14.6k|    UNUSED(buf);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   60|  14.6k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
   66|  44.0k|TEST_CASE("basic xspan usage") {
   67|  44.0k|    alignas(4) char buf[4] = {0, 1, 2, 3};
   68|       |
   69|  44.0k|    SUBCASE("XSPAN_x") {
  ------------------
  |  | 2944|  44.0k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.0k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.0k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.0k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.0k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.0k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
   70|  14.6k|        XSPAN_0(char) a0 = nullptr;
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   71|       |
   72|  14.6k|        XSPAN_0(char) b0 = buf;
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   73|  14.6k|        XSPAN_P(char) bp = buf;
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   74|       |
   75|  14.6k|        XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  14.6k|        XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   96|  14.6k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  14.6k|        XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|       |
   79|  14.6k|        XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   95|  14.6k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.6k|        XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   96|  14.6k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  14.6k|        XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  14.6k|        XSPAN_P(const char) const yp = xs;
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   83|  14.6k|        XSPAN_0(const char) const z0p = yp;
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   84|  14.6k|        XSPAN_0(const char) const z0s = xs;
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   85|       |
   86|  14.6k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  14.6k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  14.6k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|  14.6k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.6k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   91|  14.6k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|       |
   93|  14.6k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  14.6k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|  14.6k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   96|       |
   97|  14.6k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.6k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|       |        // info: these will fail if we ever add an overload for bounded-arrays
  100|  14.6k|#if WITH_XSPAN >= 2
  101|  14.6k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|  14.6k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.6k|#endif
  104|  14.6k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  14.6k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  14.6k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  14.6k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  14.6k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|  14.6k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  14.6k|#if WITH_XSPAN >= 2
  111|  14.6k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  14.6k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  14.6k|#endif
  114|       |
  115|  14.6k|        XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  116|  14.6k|        XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  14.6k|        XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |  120|  14.6k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  118|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  123|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  124|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  125|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  14.6k|        XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.6k|        XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  14.6k|        XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |  120|  29.3k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  130|  14.6k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.6k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  14.6k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  133|       |
  134|  14.6k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|  14.6k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.6k|    }
  137|       |
  138|  44.0k|    SUBCASE("XSPAN_x_VAR") {
  ------------------
  |  | 2944|  44.0k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.0k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.0k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.0k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.0k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.0k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  139|  14.6k|        XSPAN_0_VAR(char, b0, buf);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  140|  14.6k|        XSPAN_P_VAR(char, bp, buf);
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|       |
  142|  14.6k|        XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  14.6k|        XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  14.6k|        XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|       |
  146|  14.6k|        XSPAN_0_VAR(char, d0, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  14.6k|        XSPAN_P_VAR(char, dp, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  14.6k|        XSPAN_S_VAR(char, ds, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|       |
  150|  14.6k|        XSPAN_0_VAR(const char, const x0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  151|  14.6k|        XSPAN_P_VAR(const char, const xp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  152|  14.6k|        XSPAN_S_VAR(const char, const xs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  14.6k|        XSPAN_P_VAR(const char, const yp, xs);
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  14.6k|        XSPAN_0_VAR(const char, const z0p, yp);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  14.6k|        XSPAN_0_VAR(const char, const z0s, xs);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|       |
  157|  14.6k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  14.6k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  14.6k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.6k|        CHECK(d0 == dp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  14.6k|        CHECK(d0 == ds);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  14.6k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  163|  14.6k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  14.6k|#if WITH_XSPAN >= 1 || __cplusplus >= 201103L
  166|  14.6k|        XSPAN_0_VAR(char, a0, nullptr);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|  14.6k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  168|  14.6k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|  14.6k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  14.6k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|  14.6k|#endif
  172|       |
  173|  14.6k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.6k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |        // info: these will fail if we ever add an overload for bounded-arrays
  176|  14.6k|#if WITH_XSPAN >= 2
  177|  14.6k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  14.6k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|  14.6k|#endif
  180|  14.6k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  14.6k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.6k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|  14.6k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  184|  14.6k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  185|  14.6k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  14.6k|#if WITH_XSPAN >= 2
  187|  14.6k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  188|  14.6k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  189|  14.6k|#endif
  190|       |
  191|  14.6k|        XSPAN_0_VAR(upx_uint16_t, c0_2, XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  192|  14.6k|        XSPAN_P_VAR(upx_uint16_t, cp_2, XSPAN_TYPE_CAST(upx_uint16_t, cp + 2));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|  14.6k|        XSPAN_S_VAR(upx_uint16_t, cs_2, XSPAN_TYPE_CAST(upx_uint16_t, cs + 2));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  195|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  197|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  199|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|  14.6k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  201|  14.6k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  14.6k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  14.6k|        XSPAN_0_VAR(upx_uint16_t, c0_2b, XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1);
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  14.6k|        XSPAN_P_VAR(upx_uint16_t, cp_2b, XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1);
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  205|  14.6k|        XSPAN_S_VAR(upx_uint16_t, cs_2b, XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1);
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  14.6k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  207|  14.6k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  208|  14.6k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  209|       |
  210|  14.6k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|  14.6k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  212|  14.6k|    }
  213|       |
  214|  44.0k|    SUBCASE("xspan in class") {
  ------------------
  |  | 2944|  44.0k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.0k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.0k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.0k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.0k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.0k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  215|  14.6k|        struct MyType {
  216|  14.6k|            XSPAN_0(char) s0;
  217|  14.6k|            XSPAN_P(char) sp;
  218|  14.6k|            XSPAN_S(char) ss;
  219|  14.6k|#if __cplusplus >= 201103L
  220|  14.6k|            XSPAN_0(char) x0 = nullptr;
  221|  14.6k|#endif
  222|  14.6k|#if WITH_XSPAN >= 2
  223|       |            // much nicer syntax when using fully checked xspan:
  224|  14.6k|            MyType(char *b, size_t n, bool) : s0(b, n), sp(b, n), ss(b, n) {}
  225|  14.6k|#endif
  226|  14.6k|            MyType(char *b, size_t n)
  227|  14.6k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  228|  14.6k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  229|  14.6k|                UNUSED(n);
  230|  14.6k|            }
  231|  14.6k|        };
  232|  14.6k|        MyType x(buf, sizeof(buf));
  233|  14.6k|        MyType y = MyType(buf, sizeof(buf));
  234|  14.6k|        CHECK(x.s0 == y.sp);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  235|  14.6k|    }
  236|  44.0k|}
dt_xspan.cpp:_ZZL19DOCTEST_ANON_FUNC_6vEN6MyTypeC2EPcm:
  227|  29.3k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   95|  29.3k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.3k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                              : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   96|  29.3k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.3k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  29.3k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  ------------------
  |  |   97|  29.3k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.3k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   73|  29.3k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.3k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.3k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  229|  29.3k|                UNUSED(n);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  230|  29.3k|            }
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_11v:
  238|  14.6k|TEST_CASE("xspan array access") {
  239|  14.6k|    const size_t N = 16;
  240|  14.6k|    char buf[N];
  241|  14.6k|    memset(buf, 0, sizeof(buf));
  242|  14.6k|    XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  14.6k|    XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  244|  14.6k|    XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   73|  14.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  245|   249k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (245:24): [True: 234k, False: 14.6k]
  ------------------
  246|   234k|        c0[i] += 1;
  247|   249k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (247:24): [True: 234k, False: 14.6k]
  ------------------
  248|   234k|        cp[i] += 1;
  249|   249k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (249:24): [True: 234k, False: 14.6k]
  ------------------
  250|   234k|        cs[i] += 1;
  251|  14.6k|#if __cplusplus >= 201103L
  252|   249k|    for (auto ptr = c0; ptr != c0 + N; ++ptr)
  ------------------
  |  Branch (252:25): [True: 234k, False: 14.6k]
  ------------------
  253|   234k|        *ptr += 1;
  254|   249k|    for (auto ptr = c0 + 0; ptr < c0 + N; ++ptr)
  ------------------
  |  Branch (254:29): [True: 234k, False: 14.6k]
  ------------------
  255|   234k|        *ptr += 1;
  256|   249k|    for (auto ptr = cp; ptr != cp + N; ++ptr)
  ------------------
  |  Branch (256:25): [True: 234k, False: 14.6k]
  ------------------
  257|   234k|        *ptr += 1;
  258|   249k|    for (auto ptr = cp + 0; ptr < cp + N; ++ptr)
  ------------------
  |  Branch (258:29): [True: 234k, False: 14.6k]
  ------------------
  259|   234k|        *ptr += 1;
  260|   249k|    for (auto ptr = cs; ptr != cs + N; ++ptr)
  ------------------
  |  Branch (260:25): [True: 234k, False: 14.6k]
  ------------------
  261|   234k|        *ptr += 1;
  262|   249k|    for (auto ptr = cs + 0; ptr < cs + N; ++ptr)
  ------------------
  |  Branch (262:29): [True: 234k, False: 14.6k]
  ------------------
  263|   234k|        *ptr += 1;
  264|  14.6k|#endif
  265|  14.6k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_13v:
 1136|  14.6k|TEST_CASE("decltype integral constants") {
 1137|  14.6k|    static_assert((std::is_same<decltype(0), int>::value), "");
 1138|  14.6k|    static_assert((std::is_same<decltype(0u), unsigned>::value), "");
 1139|  14.6k|    static_assert((std::is_same<decltype(0l), long>::value), "");
 1140|  14.6k|    static_assert((std::is_same<decltype(0ul), unsigned long>::value), "");
 1141|  14.6k|    static_assert((std::is_same<decltype(0ll), long long>::value), "");
 1142|  14.6k|    static_assert((std::is_same<decltype(0ull), unsigned long long>::value), "");
 1143|  14.6k|    static_assert((std::is_same<decltype((char) 0), char>::value), "");
 1144|  14.6k|    static_assert((std::is_same<decltype((short) 0), short>::value), "");
 1145|  14.6k|    static_assert((std::is_same<decltype((int) 0), int>::value), "");
 1146|  14.6k|    static_assert((std::is_same<decltype((long) 0), long>::value), "");
 1147|  14.6k|    static_assert((std::is_same<decltype((long long) 0), long long>::value), "");
 1148|  14.6k|    static_assert((std::is_same<decltype(char(0)), char>::value), "");
 1149|  14.6k|    static_assert((std::is_same<decltype(short(0)), short>::value), "");
 1150|  14.6k|    static_assert((std::is_same<decltype(int(0)), int>::value), "");
 1151|  14.6k|    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.6k|    using my_llong = long long;
 1154|  14.6k|    static_assert((std::is_same<decltype(my_llong(0)), long long>::value), "");
 1155|  14.6k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_15v:
 1157|  14.6k|TEST_CASE("decltype pointer") {
 1158|  14.6k|    int dummy = 0;
 1159|  14.6k|    int *p = &dummy;
 1160|  14.6k|    const int *c = &dummy;
 1161|  14.6k|    static_assert((std::is_same<decltype(p - p), std::ptrdiff_t>::value), "");
 1162|  14.6k|    static_assert((std::is_same<decltype(c - c), std::ptrdiff_t>::value), "");
 1163|  14.6k|    static_assert((std::is_same<decltype(p - c), std::ptrdiff_t>::value), "");
 1164|  14.6k|    static_assert((std::is_same<decltype(c - p), std::ptrdiff_t>::value), "");
 1165|  14.6k|    typedef PointerTraits<int> TInt;
 1166|  14.6k|    typedef PointerTraits<const int> TConstInt;
 1167|  14.6k|    static_assert((std::is_same<int *, TInt::pointer>::value), "");
 1168|  14.6k|    static_assert((std::is_same<const int *, TInt::const_pointer>::value), "");
 1169|  14.6k|    static_assert((std::is_same<const int *, TConstInt::pointer>::value), "");
 1170|  14.6k|    static_assert((std::is_same<const int *, TConstInt::const_pointer>::value), "");
 1171|       |    //
 1172|  14.6k|    static_assert((std::is_same<decltype(p), TInt::pointer>::value), "");
 1173|  14.6k|    static_assert((std::is_same<decltype(c), TInt::const_pointer>::value), "");
 1174|  14.6k|    static_assert((std::is_same<decltype(c), TConstInt::pointer>::value), "");
 1175|  14.6k|    static_assert((std::is_same<decltype(p + 1), TInt::pointer>::value), "");
 1176|  14.6k|    static_assert((std::is_same<decltype(c + 1), TInt::const_pointer>::value), "");
 1177|  14.6k|    static_assert((std::is_same<decltype(c + 1), TConstInt::pointer>::value), "");
 1178|  14.6k|    static_assert((std::is_same<decltype(c + 1), TConstInt::const_pointer>::value), "");
 1179|  14.6k|    static_assert((std::is_same<decltype(c + 1), const int *>::value), "");
 1180|       |    // dereference
 1181|  14.6k|    static_assert((std::is_same<decltype(*p), TInt::reference>::value), "");
 1182|  14.6k|    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.6k|    static_assert((std::is_same<decltype(p[0]), TInt::reference>::value), "");
 1197|  14.6k|    static_assert((std::is_same<decltype(c[0]), TInt::const_reference>::value), "");
 1198|  14.6k|    static_assert((std::is_same<decltype(c[0]), TConstInt::reference>::value), "");
 1199|  14.6k|    static_assert((std::is_same<decltype(c[0]), TConstInt::const_reference>::value), "");
 1200|  14.6k|    UNUSED(p);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1201|  14.6k|    UNUSED(c);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1202|  14.6k|}

_Z11upx_adler32PKvjj:
   35|  10.9M|unsigned upx_adler32(const void *buf, unsigned len, unsigned adler) {
   36|  10.9M|    if (len == 0)
  ------------------
  |  Branch (36:9): [True: 443k, False: 10.5M]
  ------------------
   37|   443k|        return adler;
   38|  10.5M|    assert(buf != nullptr);
  ------------------
  |  |  512|  10.5M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  21.0M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 10.5M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512: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|  10.9M|}
_Z14upx_decompressPKhjPhPjiPK21upx_compress_result_t:
  135|  38.5k|                   int method, const upx_compress_result_t *cresult) {
  136|  38.5k|    int r = UPX_E_ERROR;
  ------------------
  |  |  558|  38.5k|#define UPX_E_ERROR               (-1)
  ------------------
  137|       |
  138|  38.5k|    assert(*dst_len > 0);
  ------------------
  |  |  512|  38.5k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  77.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 38.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  139|  38.5k|    assert(src_len < *dst_len); // must be compressed
  ------------------
  |  |  512|  38.5k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  77.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 38.5k, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  140|       |
  141|  38.5k|    if (cresult && cresult->debug.method == 0)
  ------------------
  |  Branch (141:9): [True: 38.5k, False: 4]
  |  Branch (141:20): [True: 38.5k, False: 0]
  ------------------
  142|  38.5k|        cresult = nullptr;
  143|       |
  144|  38.5k|    const unsigned orig_dst_len = *dst_len;
  145|  38.5k|    if (__acc_cte(false)) {
  ------------------
  |  | 1558|  38.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:37): [Folded, False: 38.5k]
  |  |  ------------------
  ------------------
  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|  38.5k|#if (WITH_LZMA)
  152|  38.5k|    else if (M_IS_LZMA(method))
  ------------------
  |  |  660|  38.5k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  645|  38.5k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (660:25): [True: 36.2k, False: 2.31k]
  |  |  ------------------
  ------------------
  153|  36.2k|        r = upx_lzma_decompress(src, src_len, dst, dst_len, method, cresult);
  154|  2.31k|#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.31k|#if (WITH_UCL)
  160|  2.31k|    else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  656|  4.62k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  633|  4.62k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  635|  2.30k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (656:26): [True: 2.30k, False: 1]
  |  |  |  Branch (656:49): [True: 1.07k, False: 1.23k]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  657|  3.54k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  636|  2.46k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  638|  1.23k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (657:26): [True: 1.23k, False: 0]
  |  |  |  Branch (657:49): [True: 410, False: 823]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  658|    823|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  639|  1.64k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  641|    823|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (658:26): [True: 823, False: 0]
  |  |  |  Branch (658:49): [True: 418, False: 405]
  |  |  ------------------
  ------------------
  161|  1.90k|        r = upx_ucl_decompress(src, src_len, dst, dst_len, method, cresult);
  162|    406|#endif
  163|    406|#if (WITH_ZLIB)
  164|    406|    else if (M_IS_DEFLATE(method))
  ------------------
  |  |  661|    406|#define M_IS_DEFLATE(x) ((x) == M_DEFLATE)
  |  |  ------------------
  |  |  |  |  646|    406|#define M_DEFLATE     15 // NOT YET USED
  |  |  ------------------
  |  |  |  Branch (661:25): [True: 399, False: 7]
  |  |  ------------------
  ------------------
  165|    399|        r = upx_zlib_decompress(src, src_len, dst, dst_len, method, cresult);
  166|      7|#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|      7|    else {
  172|      7|        throwInternalError("unknown compression method %d", method);
  173|      7|    }
  174|       |
  175|  38.5k|    assert_noexcept(*dst_len <= orig_dst_len);
  ------------------
  |  |  515|  38.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  77.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 38.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|      0|    return r;
  177|  38.5k|}

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

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

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

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

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

_Z9NO_printfPKcz:
  404|  31.4M|inline void NO_printf(const char *, ...) noexcept {}
_Z10NO_fprintfP8_IO_FILEPKcz:
  406|  9.53M|inline void NO_fprintf(FILE *, const char *, ...) noexcept {}
_ZN14upx_callback_t5resetEv:
  695|   873k|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_config_t5resetEv:
  729|   176k|    void reset() noexcept { memset(this, 0xff, sizeof(*this)); }
_ZN23bzip2_compress_result_t5resetEv:
  775|  1.30M|    void reset() noexcept { mem_clear(this); }
_ZN22lzma_compress_result_t5resetEv:
  788|  1.30M|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_result_t5resetEv:
  794|  1.30M|    void reset() noexcept { mem_clear(this); }
_ZN22zlib_compress_result_t5resetEv:
  800|  1.30M|    void reset() noexcept { mem_clear(this); }
_ZN22zstd_compress_result_t5resetEv:
  806|  1.30M|    void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5Debug5resetEv:
  814|  1.30M|        void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5resetEv:
  824|  1.30M|    void reset() noexcept {
  825|  1.30M|        debug.reset();
  826|  1.30M|        result_bzip2.reset();
  827|  1.30M|        result_lzma.reset();
  828|  1.30M|        result_ucl.reset();
  829|  1.30M|        result_zlib.reset();
  830|  1.30M|        result_zstd.reset();
  831|  1.30M|    }
_Z9mem_clearI14upx_callback_tEvPT_:
  472|   873k|inline void mem_clear(T *object) noexcept {
  473|   873k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   873k|    static_assert(std::is_standard_layout_v<T>);
  475|   873k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   873k|    constexpr size_t size = sizeof(*object);
  477|   873k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   873k|    memset((void *) object, 0, size);
  480|   873k|}
_Z9mem_clearI23bzip2_compress_result_tEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z9mem_clearI22lzma_compress_result_tEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z9mem_clearI21ucl_compress_result_tEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z9mem_clearI22zlib_compress_result_tEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z9mem_clearI22zstd_compress_result_tEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z9mem_clearIN21upx_compress_result_t5DebugEEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIcE5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIaE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIhE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIsE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralItE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIiE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIjE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIlE5TestTEEvPT_:
  472|   176k|inline void mem_clear(T *object) noexcept {
  473|   176k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   176k|    static_assert(std::is_standard_layout_v<T>);
  475|   176k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   176k|    constexpr size_t size = sizeof(*object);
  477|   176k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   176k|    memset((void *) object, 0, size);
  480|   176k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralImE5TestTEEvPT_:
  472|   205k|inline void mem_clear(T *object) noexcept {
  473|   205k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   205k|    static_assert(std::is_standard_layout_v<T>);
  475|   205k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   205k|    constexpr size_t size = sizeof(*object);
  477|   205k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   205k|    memset((void *) object, 0, size);
  480|   205k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIxE5TestTEEvPT_:
  472|  88.0k|inline void mem_clear(T *object) noexcept {
  473|  88.0k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  88.0k|    static_assert(std::is_standard_layout_v<T>);
  475|  88.0k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  88.0k|    constexpr size_t size = sizeof(*object);
  477|  88.0k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  88.0k|    memset((void *) object, 0, size);
  480|  88.0k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIyE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralInE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIoE5TestTEEvPT_:
  472|  58.7k|inline void mem_clear(T *object) noexcept {
  473|  58.7k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  58.7k|    static_assert(std::is_standard_layout_v<T>);
  475|  58.7k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  58.7k|    constexpr size_t size = sizeof(*object);
  477|  58.7k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  58.7k|    memset((void *) object, 0, size);
  480|  58.7k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE16E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE32E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE64E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE16E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE32E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE64E5TestTEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
dt_cxxlib.cpp:_Z9mem_clearIZL19DOCTEST_ANON_FUNC_6vE4TestEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIiLb0EEEEvPT_:
  472|  29.3k|inline void mem_clear(T *object) noexcept {
  473|  29.3k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.3k|    constexpr size_t size = sizeof(*object);
  477|  29.3k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.3k|    memset((void *) object, 0, size);
  480|  29.3k|}
_Z9mem_clearIN3upx7TriBoolIaLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIhLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIsLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolItLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIjLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIxLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIyLb0EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIaLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIhLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIsLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolItLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIiLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIjLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIxLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearIN3upx7TriBoolIyLb1EEEEvPT_:
  472|  14.6k|inline void mem_clear(T *object) noexcept {
  473|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  475|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  14.6k|    constexpr size_t size = sizeof(*object);
  477|  14.6k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  14.6k|    memset((void *) object, 0, size);
  480|  14.6k|}
_Z9mem_clearI23bzip2_compress_config_tEvPT_:
  472|   176k|inline void mem_clear(T *object) noexcept {
  473|   176k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   176k|    static_assert(std::is_standard_layout_v<T>);
  475|   176k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   176k|    constexpr size_t size = sizeof(*object);
  477|   176k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   176k|    memset((void *) object, 0, size);
  480|   176k|}
_Z9mem_clearI18_CLzmaDecoderStateEvPT_:
  472|  80.2k|inline void mem_clear(T *object) noexcept {
  473|  80.2k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  80.2k|    static_assert(std::is_standard_layout_v<T>);
  475|  80.2k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  80.2k|    constexpr size_t size = sizeof(*object);
  477|  80.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  80.2k|    memset((void *) object, 0, size);
  480|  80.2k|}
_Z9mem_clearI22zlib_compress_config_tEvPT_:
  472|   176k|inline void mem_clear(T *object) noexcept {
  473|   176k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   176k|    static_assert(std::is_standard_layout_v<T>);
  475|   176k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   176k|    constexpr size_t size = sizeof(*object);
  477|   176k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   176k|    memset((void *) object, 0, size);
  480|   176k|}
_Z9mem_clearI22zstd_compress_config_tEvPT_:
  472|   176k|inline void mem_clear(T *object) noexcept {
  473|   176k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   176k|    static_assert(std::is_standard_layout_v<T>);
  475|   176k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   176k|    constexpr size_t size = sizeof(*object);
  477|   176k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   176k|    memset((void *) object, 0, size);
  480|   176k|}
filter.cpp:_Z17upx_std_call_onceIZN10FilterImpl9getFilterEiE3$_0EvRmOT_:
  141|  17.4M|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  142|  17.4M|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  17.4M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 1, False: 17.4M]
  |  |  ------------------
  ------------------
  143|      1|        flag = 1;
  144|      1|        f();
  145|      1|    }
  146|  17.4M|}
_Z9mem_clearIN6LeFile11le_header_tEEvPT_:
  472|  29.0k|inline void mem_clear(T *object) noexcept {
  473|  29.0k|    static_assert(std::is_class_v<T>); // UPX convention
  474|  29.0k|    static_assert(std::is_standard_layout_v<T>);
  475|  29.0k|    static_assert(std::is_trivially_copyable_v<T>);
  476|  29.0k|    constexpr size_t size = sizeof(*object);
  477|  29.0k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  29.0k|    memset((void *) object, 0, size);
  480|  29.0k|}
_Z9mem_clearI7OptionsEvPT_:
  472|   161k|inline void mem_clear(T *object) noexcept {
  473|   161k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   161k|    static_assert(std::is_standard_layout_v<T>);
  475|   161k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   161k|    constexpr size_t size = sizeof(*object);
  477|   161k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   161k|    memset((void *) object, 0, size);
  480|   161k|}
_Z9mem_clearI10PackHeaderEvPT_:
  472|  1.30M|inline void mem_clear(T *object) noexcept {
  473|  1.30M|    static_assert(std::is_class_v<T>); // UPX convention
  474|  1.30M|    static_assert(std::is_standard_layout_v<T>);
  475|  1.30M|    static_assert(std::is_trivially_copyable_v<T>);
  476|  1.30M|    constexpr size_t size = sizeof(*object);
  477|  1.30M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|  1.30M|    memset((void *) object, 0, size);
  480|  1.30M|}
_Z17upx_std_call_onceIRDoFvvEEvRmOT_:
  141|  10.1M|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  142|  10.1M|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  10.1M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 2, False: 10.1M]
  |  |  ------------------
  ------------------
  143|      2|        flag = 1;
  144|      2|        f();
  145|      2|    }
  146|  10.1M|}
_Z9mem_clearIN8UiPacker5StateEEvPT_:
  472|   436k|inline void mem_clear(T *object) noexcept {
  473|   436k|    static_assert(std::is_class_v<T>); // UPX convention
  474|   436k|    static_assert(std::is_standard_layout_v<T>);
  475|   436k|    static_assert(std::is_trivially_copyable_v<T>);
  476|   436k|    constexpr size_t size = sizeof(*object);
  477|   436k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  478|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  479|   436k|    memset((void *) object, 0, size);
  480|   436k|}

_ZN9ThrowableC2EPKcib:
   36|  4.43M|Throwable::Throwable(const char *m, int e, bool w) noexcept : super(),
   37|  4.43M|                                                              msg(nullptr),
   38|  4.43M|                                                              err(e),
   39|  4.43M|                                                              is_warning(w) {
   40|  4.43M|    if (m != nullptr) {
  ------------------
  |  Branch (40:9): [True: 4.43M, False: 0]
  ------------------
   41|  4.43M|        msg = ::strdup(m);
  ------------------
  |  |   67|  4.43M|#define strdup upx_safe_strdup_noexcept
  ------------------
   42|  4.43M|        assert_noexcept(msg != nullptr);
  ------------------
  |  |  515|  4.43M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.86M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.43M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   43|  4.43M|    }
   44|      0|    NO_fprintf(stderr, "construct exception: %zu %zu %s\n", size_t(stats.counter_current),
   45|  4.43M|               size_t(stats.counter_total), (const char *) msg);
   46|  4.43M|    stats.counter_current += 1;
   47|  4.43M|    stats.counter_total += 1;
   48|  4.43M|}
_ZN9ThrowableD2Ev:
   64|  4.43M|Throwable::~Throwable() noexcept {
   65|  4.43M|    stats.counter_current -= 1;
   66|       |    NO_fprintf(stderr, "destruct exception: %zu %zu %s\n", size_t(stats.counter_current),
   67|  4.43M|               size_t(stats.counter_total), (const char *) msg);
   68|  4.43M|    upx::owner_free(msg);
   69|  4.43M|}
_Z13throwCantPackPKc:
   75|  4.38M|void throwCantPack(const char *msg) {
   76|       |    // UGLY, but makes things easier
   77|  4.38M|    if (opt->cmd == CMD_NONE)
  ------------------
  |  Branch (77:9): [True: 4.37M, False: 8.57k]
  ------------------
   78|  4.37M|        throw CantPackException(msg);
   79|  8.57k|    else if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (79:14): [True: 0, False: 8.57k]
  ------------------
   80|      0|        throw CantPackException(msg);
   81|  8.57k|    else if (opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (81:14): [True: 0, False: 8.57k]
  ------------------
   82|      0|        throw CantPackException(msg);
   83|  8.57k|    else
   84|  8.57k|        throw CantUnpackException(msg);
   85|  4.38M|}
_Z28throwUnknownExecutableFormatPKcb:
   91|     22|void throwUnknownExecutableFormat(const char *msg, bool warn) {
   92|     22|    throw UnknownExecutableFormatException(msg, warn);
   93|     22|}
_Z15throwCantUnpackPKc:
  109|  5.39k|void throwCantUnpack(const char *msg) {
  110|       |    // UGLY, but makes things easier
  111|  5.39k|    throwCantPack(msg);
  112|  5.39k|}
_Z14throwNotPackedPKc:
  114|  2.36k|void throwNotPacked(const char *msg) {
  115|  2.36k|    if (msg == nullptr)
  ------------------
  |  Branch (115:9): [True: 2.36k, False: 0]
  ------------------
  116|  2.36k|        msg = "not packed by UPX";
  117|  2.36k|    throw NotPackedException(msg);
  118|  2.36k|}
_Z18throwChecksumErrorv:
  120|    278|void throwChecksumError() { throw Exception("checksum error"); }
_Z28throwCompressedDataViolationv:
  122|  2.91k|void throwCompressedDataViolation() { throw Exception("compressed data violation"); }
_Z18throwInternalErrorPKc:
  128|  29.3k|void throwInternalError(const char *msg) { throw InternalError(msg); }
_Z16throwIOExceptionPKci:
  138|  1.37k|void throwIOException(const char *msg, int e) { throw IOException(msg, e); }
_Z17throwEOFExceptionPKci:
  140|  16.0k|void throwEOFException(const char *msg, int e) {
  141|  16.0k|    if (msg == nullptr && e == 0)
  ------------------
  |  Branch (141:9): [True: 16.0k, False: 0]
  |  Branch (141:27): [True: 16.0k, False: 0]
  ------------------
  142|  16.0k|        msg = "premature end of file";
  143|  16.0k|    throw EOFException(msg, e);
  144|  16.0k|}
_Z13throwCantPackIcEvPKT_z:
  151|  16.1k|void throwCantPack(const char *format, ...) {
  152|  16.1k|    char msg[1024];
  153|  16.1k|    va_list ap;
  154|  16.1k|    va_start(ap, format);
  155|  16.1k|    upx_safe_vsnprintf_noexcept(msg, sizeof(msg), format, ap);
  156|       |    va_end(ap);
  157|  16.1k|    throwCantPack(msg);
  158|  16.1k|}
_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|      6|void throwInternalError(const char *format, ...) {
  172|      6|    char msg[1024];
  173|      6|    va_list ap;
  174|      6|    va_start(ap, format);
  175|      6|    upx_safe_vsnprintf_noexcept(msg, sizeof(msg), format, ap);
  176|       |    va_end(ap);
  177|      6|    throwInternalError(msg);
  178|      6|}
_Z12assertFailediPKcS0_iS0_:
  200|  18.7M|void assertFailed(int e, const char *expr, const char *file, int line, const char *func) noexcept {
  201|  18.7M|    if very_unlikely (!e)
  ------------------
  |  |  264|  18.7M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.7M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.7M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.7M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|      0|        assertFailed(expr, file, line, func);
  203|  18.7M|}
_Z17throwAssertFailedPKcS0_iS0_:
  205|     64|void throwAssertFailed(const char *expr, const char *file, int line, const char *func) may_throw {
  206|     64|    if (opt->debug.debug_level >= 1) {
  ------------------
  |  Branch (206:9): [True: 0, False: 64]
  ------------------
  207|      0|        throwCantPack("corrupted file; details: %s (%s: %s: %d)", expr, file, func, line);
  208|     64|    } else {
  209|     64|        throwCantPack("corrupted file; try '--debug' for more details");
  210|     64|    }
  211|     64|}
_Z19prettyExceptionNamePKc:
  213|  14.6k|const char *prettyExceptionName(const char *n) noexcept {
  214|  14.6k|    if (n == nullptr)
  ------------------
  |  Branch (214:9): [True: 0, False: 14.6k]
  ------------------
  215|      0|        return "(null)";
  216|  40.6k|    while (*n) {
  ------------------
  |  Branch (216:12): [True: 40.6k, False: 0]
  ------------------
  217|  40.6k|        if (*n >= '0' && *n <= '9') // Linux ABI
  ------------------
  |  Branch (217:13): [True: 40.6k, False: 0]
  |  Branch (217:26): [True: 26.0k, False: 14.6k]
  ------------------
  218|  26.0k|            n++;
  219|  14.6k|        else if (*n == ' ')
  ------------------
  |  Branch (219:18): [True: 0, False: 14.6k]
  ------------------
  220|      0|            n++;
  221|  14.6k|        else if (strncmp(n, "class ", 6) == 0) // Visual C++ (MSVC)
  ------------------
  |  Branch (221:18): [True: 0, False: 14.6k]
  ------------------
  222|      0|            n += 6;
  223|  14.6k|        else
  224|  14.6k|            break;
  225|  40.6k|    }
  226|  14.6k|    return n;
  227|  14.6k|}

_ZNK9Throwable6getMsgEv:
   43|  29.2k|    const char *getMsg() const noexcept { return msg; }
_ZNK9Throwable8getErrnoEv:
   44|  14.6k|    int getErrno() const noexcept { return err; }
_ZNK9Throwable9isWarningEv:
   45|  29.2k|    bool isWarning() const noexcept { return is_warning; }
_ZN9ExceptionC2EPKcib:
   77|  4.40M|        : super(m, e, w) {}
_ZN5ErrorC2EPKci:
   84|  29.3k|    explicit Error(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN11IOExceptionC2EPKci:
  100|  17.4k|    explicit IOException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN12EOFExceptionC2EPKci:
  106|  16.0k|    explicit EOFException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN16OverlayExceptionC2EPKcb:
  129|     46|    explicit OverlayException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN17CantPackExceptionC2EPKcb:
  135|  4.37M|    explicit CantPackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN32UnknownExecutableFormatExceptionC2EPKcb:
  142|     22|        : super(m, w) {}
_ZN19CantUnpackExceptionC2EPKcb:
  163|  10.9k|        : super(m, 0, w) {}
_ZN18NotPackedExceptionC2EPKc:
  169|  2.36k|    explicit NotPackedException(const char *m = nullptr) noexcept : super(m, true) {}
_ZN13InternalErrorC2EPKc:
  179|  29.3k|    explicit InternalError(const char *m = nullptr) noexcept : super(m, 0) {}

_ZN8FileBase15unlink_noexceptEPKc:
   56|  14.5k|/*static*/ bool FileBase::unlink_noexcept(const char *name) noexcept {
   57|  14.5k|    assert_noexcept(name != nullptr && name[0] != 0);
  ------------------
  |  |  515|  14.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   58|      0|    bool success = ::unlink(name) == 0;
   59|  14.5k|#if HAVE_CHMOD
   60|  14.5k|    if (!success)
  ------------------
  |  Branch (60:9): [True: 0, False: 14.5k]
  ------------------
   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.5k|#endif
   63|  14.5k|    return success;
   64|  14.5k|}
_ZN8FileBaseD2Ev:
   75|  58.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|  58.6k|    if (std::uncaught_exceptions() == 0)
  ------------------
  |  Branch (80:9): [True: 29.4k, False: 29.1k]
  ------------------
   81|  29.4k|        closex(); // may_throw
   82|  29.1k|    else
   83|  29.1k|        close_noexcept(); // currently in exception unwinding, use noexcept variant
   84|  58.6k|}
_ZN8FileBase8do_sopenEv:
   86|  29.3k|bool FileBase::do_sopen() {
   87|  29.3k|    if (_shflags < 0)
  ------------------
  |  Branch (87:9): [True: 29.3k, False: 0]
  ------------------
   88|  29.3k|        _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.3k|    if (_fd < 0)
  ------------------
  |  Branch (100:9): [True: 0, False: 29.3k]
  ------------------
  101|      0|        return false;
  102|  29.3k|    st.st_size = 0;
  103|  29.3k|    if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (103:9): [True: 0, False: 29.3k]
  ------------------
  104|      0|        throwIOException(_name, errno);
  105|  29.3k|    _length = st.st_size;
  106|  29.3k|    return true;
  107|  29.3k|}
_ZN8FileBase14close_noexceptEv:
  109|  88.1k|bool FileBase::close_noexcept() noexcept {
  110|  88.1k|    bool ok = true;
  111|  88.1k|    if (isOpen() && _fd != STDIN_FILENO && _fd != STDOUT_FILENO && _fd != STDERR_FILENO)
  ------------------
  |  Branch (111:9): [True: 29.3k, False: 58.8k]
  |  Branch (111:21): [True: 29.3k, False: 0]
  |  Branch (111:44): [True: 29.3k, False: 0]
  |  Branch (111:68): [True: 29.3k, False: 0]
  ------------------
  112|  29.3k|        if (::close(_fd) == -1)
  ------------------
  |  Branch (112:13): [True: 0, False: 29.3k]
  ------------------
  113|      0|            ok = false;
  114|  88.1k|    _fd = -1;
  115|  88.1k|    _flags = 0;
  116|  88.1k|    _mode = 0;
  117|  88.1k|    _name = nullptr;
  118|  88.1k|    _offset = 0;
  119|  88.1k|    _length = 0;
  120|  88.1k|    return ok;
  121|  88.1k|}
_ZN8FileBase6closexEv:
  123|  58.9k|void FileBase::closex() may_throw {
  124|  58.9k|    if (!close_noexcept())
  ------------------
  |  Branch (124:9): [True: 0, False: 58.9k]
  ------------------
  125|      0|        throwIOException("close failed", errno);
  126|  58.9k|}
_ZN8FileBase4seekExi:
  129|   898k|upx_off_t FileBase::seek(upx_off_t off, int whence) {
  130|   898k|    if (!isOpen())
  ------------------
  |  Branch (130:9): [True: 0, False: 898k]
  ------------------
  131|      0|        throwIOException("bad seek 1");
  132|   898k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (132:9): [True: 412, False: 898k]
  |  Branch (132:31): [True: 868k, False: 29.8k]
  ------------------
  133|    412|        throwIOException("bad seek");
  134|   898k|    if (whence == SEEK_SET) {
  ------------------
  |  Branch (134:9): [True: 867k, False: 30.1k]
  ------------------
  135|   867k|        if (off < 0)
  ------------------
  |  Branch (135:13): [True: 75, False: 867k]
  ------------------
  136|     75|            throwIOException("bad seek 2");
  137|   867k|        off += _offset;
  138|   867k|    } else if (whence == SEEK_END) {
  ------------------
  |  Branch (138:16): [True: 27.3k, False: 2.76k]
  ------------------
  139|  27.3k|        if (off > 0)
  ------------------
  |  Branch (139:13): [True: 0, False: 27.3k]
  ------------------
  140|      0|            throwIOException("bad seek 3");
  141|  27.3k|        off += _offset + _length;
  142|  27.3k|        whence = SEEK_SET;
  143|  27.3k|    } else if (whence == SEEK_CUR) {
  ------------------
  |  Branch (143:16): [True: 2.76k, False: 0]
  ------------------
  144|  2.76k|    } else
  145|      0|        throwInternalError("bad seek: whence");
  146|   897k|    upx_off_t l = ::lseek(_fd, off, whence);
  147|   897k|    if (l < 0)
  ------------------
  |  Branch (147:9): [True: 0, False: 897k]
  ------------------
  148|      0|        throwIOException("seek error", errno);
  149|   897k|    return l - _offset;
  150|   897k|}
_ZNK8FileBase4tellEv:
  152|    315|upx_off_t FileBase::tell() const {
  153|    315|    if (!isOpen())
  ------------------
  |  Branch (153:9): [True: 0, False: 315]
  ------------------
  154|      0|        throwIOException("bad tell");
  155|    315|    upx_off_t l = ::lseek(_fd, 0, SEEK_CUR);
  156|    315|    if (l < 0)
  ------------------
  |  Branch (156:9): [True: 0, False: 315]
  ------------------
  157|      0|        throwIOException("tell error", errno);
  158|    315|    return l - _offset;
  159|    315|}
_ZN8FileBase10set_extentExx:
  161|    194|void FileBase::set_extent(upx_off_t offset, upx_off_t length) {
  162|    194|    _offset = offset;
  163|    194|    _length = length;
  164|    194|}
_ZNK8FileBase7st_sizeEv:
  166|   508k|upx_off_t FileBase::st_size() const { return _length; }
_ZN9InputFile5sopenEPKcii:
  172|  14.6k|void InputFile::sopen(const char *name, int flags, int shflags) {
  173|  14.6k|    closex();
  174|  14.6k|    _name = name;
  175|  14.6k|    _flags = flags;
  176|  14.6k|    _shflags = shflags;
  177|  14.6k|    _mode = 0;
  178|  14.6k|    _offset = 0;
  179|  14.6k|    _length = 0;
  180|  14.6k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (180:9): [True: 0, False: 14.6k]
  ------------------
  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.6k|    _length_orig = _length;
  189|  14.6k|}
_ZN9InputFile4readEN5XSpan9PtrOrSpanIvEEx:
  191|   623k|int InputFile::read(SPAN_P(void) buf, upx_int64_t blen) {
  192|   623k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (192:9): [True: 0, False: 623k]
  |  Branch (192:22): [True: 2, False: 623k]
  ------------------
  193|      2|        throwIOException("bad read");
  194|   623k|    int len = (int) mem_size(1, blen); // sanity check
  195|   623k|#if WITH_XSPAN >= 2
  196|   623k|    NO_fprintf(stderr, "read %p %zu (%p) %d\n", buf.raw_ptr(), buf.raw_size_in_bytes(),
  197|   623k|               buf.raw_base(), len);
  198|   623k|#endif
  199|   623k|    errno = 0;
  200|   623k|    long l = acc_safe_hread(_fd, raw_bytes(buf, len), len);
  201|   623k|    if (errno)
  ------------------
  |  Branch (201:9): [True: 0, False: 623k]
  ------------------
  202|      0|        throwIOException("read error", errno);
  203|   623k|    return (int) l;
  204|   623k|}
_ZN9InputFile5readxEN5XSpan9PtrOrSpanIvEEx:
  206|   601k|int InputFile::readx(SPAN_P(void) buf, upx_int64_t blen) {
  207|   601k|    int l = this->read(buf, blen);
  208|   601k|    if (l != blen)
  ------------------
  |  Branch (208:9): [True: 16.0k, False: 585k]
  ------------------
  209|  16.0k|        throwEOFException();
  210|   585k|    return l;
  211|   601k|}
_ZN9InputFile4seekExi:
  213|   896k|upx_off_t InputFile::seek(upx_off_t off, int whence) {
  214|   896k|    upx_off_t pos = super::seek(off, whence);
  215|   896k|    if (_length < pos)
  ------------------
  |  Branch (215:9): [True: 877, False: 895k]
  ------------------
  216|    877|        throwIOException("bad seek 4");
  217|   895k|    return pos;
  218|   896k|}
_ZNK9InputFile12st_size_origEv:
  220|    392|upx_off_t InputFile::st_size_orig() const { return _length_orig; }
_ZN10OutputFile5sopenEPKciii:
  240|  14.6k|void OutputFile::sopen(const char *name, int flags, int shflags, int mode) {
  241|  14.6k|    closex();
  242|  14.6k|    _name = name;
  243|  14.6k|    _flags = flags;
  244|  14.6k|    _shflags = shflags;
  245|  14.6k|    _mode = mode;
  246|  14.6k|    _offset = 0;
  247|  14.6k|    _length = 0;
  248|  14.6k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (248:9): [True: 0, False: 14.6k]
  ------------------
  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.6k|}
_ZN10OutputFile5writeEN5XSpan15PtrOrSpanOrNullIKvEEx:
  279|  43.3k|void OutputFile::write(SPAN_0(const void) buf, upx_int64_t blen) {
  280|  43.3k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (280:9): [True: 0, False: 43.3k]
  |  Branch (280:22): [True: 0, False: 43.3k]
  ------------------
  281|      0|        throwIOException("bad write");
  282|       |    // allow nullptr if blen == 0
  283|  43.3k|    if (blen == 0)
  ------------------
  |  Branch (283:9): [True: 8, False: 43.3k]
  ------------------
  284|      8|        return;
  285|  43.3k|    int len = (int) mem_size(1, blen); // sanity check
  286|  43.3k|#if WITH_XSPAN >= 2
  287|  43.3k|    NO_fprintf(stderr, "write %p %zu (%p) %d\n", buf.raw_ptr(), buf.raw_size_in_bytes(),
  288|  43.3k|               buf.raw_base(), len);
  289|  43.3k|#endif
  290|  43.3k|    errno = 0;
  291|  43.3k|    long l = acc_safe_hwrite(_fd, raw_bytes(buf, len), len);
  292|  43.3k|    if (l != len)
  ------------------
  |  Branch (292:9): [True: 0, False: 43.3k]
  ------------------
  293|      0|        throwIOException("write error", errno);
  294|  43.3k|    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|  43.3k|}
_ZN10OutputFile7rewriteEN5XSpan9PtrOrSpanIKvEEx:
  308|    140|void OutputFile::rewrite(SPAN_P(const void) buf, upx_int64_t blen) {
  309|    140|    assert(!opt->to_stdout);
  ------------------
  |  |  512|    140|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    280|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 140, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  310|      0|    write(buf, blen);
  311|    140|    bytes_written -= blen; // restore
  312|    140|}
_ZN10OutputFile4seekExi:
  324|  2.01k|upx_off_t OutputFile::seek(upx_off_t off, int whence) {
  325|  2.01k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (325:9): [True: 1, False: 2.01k]
  |  Branch (325:31): [True: 2.01k, False: 0]
  ------------------
  326|      1|        throwIOException("bad seek");
  327|  2.01k|    assert(!opt->to_stdout);
  ------------------
  |  |  512|  2.01k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  4.02k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.01k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  328|      0|    switch (whence) {
  ------------------
  |  Branch (328:13): [True: 2.01k, False: 0]
  ------------------
  329|  2.01k|    case SEEK_SET:
  ------------------
  |  Branch (329:5): [True: 2.01k, False: 0]
  ------------------
  330|  2.01k|        if (bytes_written < off)
  ------------------
  |  Branch (330:13): [True: 221, False: 1.79k]
  ------------------
  331|    221|            bytes_written = off;
  332|  2.01k|        _length = bytes_written; // cheap, lazy update; needed?
  333|  2.01k|        break;
  334|      0|    case SEEK_END:
  ------------------
  |  Branch (334:5): [True: 0, False: 2.01k]
  ------------------
  335|      0|        _length = bytes_written; // necessary
  336|      0|        break;
  337|  2.01k|    }
  338|  2.01k|    return super::seek(off, whence);
  339|  2.01k|}
_ZN10OutputFile10set_extentExx:
  351|     17|void OutputFile::set_extent(upx_off_t offset, upx_off_t length) {
  352|     17|    super::set_extent(offset, length);
  353|     17|    bytes_written = 0;
  354|     17|    if (0 == offset && 0xffffffffLL == length) { // TODO: check all callers of this method
  ------------------
  |  Branch (354:9): [True: 0, False: 17]
  |  Branch (354:24): [True: 0, False: 0]
  ------------------
  355|      0|        st.st_size = 0;
  356|      0|        if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (356:13): [True: 0, False: 0]
  ------------------
  357|      0|            throwIOException(_name, errno);
  358|      0|        _length = st.st_size - offset;
  359|      0|    }
  360|     17|}
_ZN10OutputFile12unset_extentEv:
  362|     17|upx_off_t OutputFile::unset_extent() {
  363|     17|    upx_off_t l = ::lseek(_fd, 0, SEEK_END);
  364|     17|    if (l < 0)
  ------------------
  |  Branch (364:9): [True: 0, False: 17]
  ------------------
  365|      0|        throwIOException("lseek error", errno);
  366|     17|    _offset = 0;
  367|     17|    _length = l;
  368|     17|    bytes_written = _length;
  369|     17|    return _length;
  370|     17|}
file.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  387|  14.6k|TEST_CASE("file") {
  388|  14.6k|    InputFile fi;
  389|  14.6k|    CHECK(!fi.isOpen());
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|  14.6k|    CHECK(fi.getFd() == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|  14.6k|    CHECK(fi.st_size() == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|  14.6k|    OutputFile fo;
  393|  14.6k|    CHECK(!fo.isOpen());
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|  14.6k|    CHECK(fo.getFd() == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|  14.6k|    CHECK(fo.getBytesWritten() == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|  14.6k|}

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

_ZN10FilterImpl9getFilterEi:
   47|  17.4M|/*static*/ const FilterImpl::FilterEntry *FilterImpl::getFilter(int id) noexcept {
   48|  17.4M|    static upx_uint8_t filter_map[256];
   49|  17.4M|    static upx_std_once_flag init_done;
   50|       |
   51|  17.4M|    upx_std_call_once(init_done, []() noexcept {
   52|       |        // init the filter_map[] (using a lambda function)
   53|  17.4M|        assert_noexcept(n_filters <= 254); // as 0xff means "empty slot"
   54|  17.4M|        memset(filter_map, 0xff, sizeof(filter_map));
   55|  17.4M|        for (int i = 0; i < n_filters; i++) {
   56|  17.4M|            int filter_id = filters[i].id;
   57|  17.4M|            assert_noexcept(filter_id >= 0 && filter_id <= 255);
   58|  17.4M|            assert_noexcept(filter_map[filter_id] == 0xff);
   59|  17.4M|            filter_map[filter_id] = (upx_uint8_t) i;
   60|  17.4M|        }
   61|  17.4M|    });
   62|       |
   63|  17.4M|    if (id < 0 || id > 255)
  ------------------
  |  Branch (63:9): [True: 0, False: 17.4M]
  |  Branch (63:19): [True: 0, False: 17.4M]
  ------------------
   64|      0|        return nullptr;
   65|  17.4M|    unsigned index = filter_map[id];
   66|  17.4M|    if (index == 0xff) // empty slot
  ------------------
  |  |  359|  17.4M|#define index    upx_renamed_index
  ------------------
  |  Branch (66:9): [True: 4, False: 17.4M]
  ------------------
   67|      4|        return nullptr;
   68|  17.4M|    assert_noexcept(filters[index].id == id);
  ------------------
  |  |  515|  17.4M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  34.8M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 17.4M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   69|  17.4M|    return &filters[index];
  ------------------
  |  |  359|  17.4M|#define index    upx_renamed_index
  ------------------
   70|  17.4M|}
_ZN6Filter13isValidFilterEi:
   72|  29.3k|/*static*/ bool Filter::isValidFilter(int filter_id) noexcept {
   73|  29.3k|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(filter_id);
   74|  29.3k|    return fe != nullptr;
   75|  29.3k|}
_ZN6FilterC2Ei:
   94|  6.24M|Filter::Filter(int level) noexcept : clevel(level) { init(); }
_ZN6Filter4initEij:
   96|  12.3M|void Filter::init(int id_, unsigned addvalue_) noexcept {
   97|  12.3M|    this->id = id_;
   98|  12.3M|    initFilter(this, nullptr, 0);
   99|       |    // clear input parameters
  100|  12.3M|    this->addvalue = addvalue_;
  101|  12.3M|    this->preferred_ctos = nullptr;
  102|       |    // clear input/output parameters
  103|  12.3M|    this->cto = 0;
  104|  12.3M|    this->n_mru = 0;
  105|  12.3M|}
_ZN6Filter6filterEN5XSpan15PtrOrSpanOrNullIhEEj:
  107|  6.10M|bool Filter::filter(SPAN_0(byte) xbuf, unsigned buf_len_) {
  108|  6.10M|    byte *const buf_ = raw_bytes(xbuf, buf_len_);
  109|  6.10M|    initFilter(this, buf_, buf_len_);
  110|       |
  111|  6.10M|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(id);
  112|  6.10M|    if (fe == nullptr)
  ------------------
  |  Branch (112:9): [True: 0, False: 6.10M]
  ------------------
  113|      0|        throwInternalError("filter-1");
  114|  6.10M|    if (fe->id == 0)
  ------------------
  |  Branch (114:9): [True: 0, False: 6.10M]
  ------------------
  115|      0|        return true;
  116|  6.10M|    if (buf_len < fe->min_buf_len)
  ------------------
  |  Branch (116:9): [True: 939k, False: 5.16M]
  ------------------
  117|   939k|        return false;
  118|  5.16M|    if (fe->max_buf_len && buf_len > fe->max_buf_len)
  ------------------
  |  Branch (118:9): [True: 5.16M, False: 0]
  |  Branch (118:28): [True: 0, False: 5.16M]
  ------------------
  119|      0|        return false;
  120|  5.16M|    if (!fe->do_filter)
  ------------------
  |  Branch (120:9): [True: 0, False: 5.16M]
  ------------------
  121|      0|        throwInternalError("filter-2");
  122|       |
  123|       |    // save checksum
  124|  5.16M|    this->adler = 0;
  125|  5.16M|    if (clevel != 1)
  ------------------
  |  Branch (125:9): [True: 5.16M, False: 0]
  ------------------
  126|  5.16M|        this->adler = upx_adler32(this->buf, this->buf_len);
  127|       |
  128|  5.16M|    NO_printf("filter: %02x %p %d\n", this->id, this->buf, this->buf_len);
  129|       |    // OutputFile::dump("filter.dat", buf, buf_len);
  130|  5.16M|    int r = (*fe->do_filter)(this);
  131|  5.16M|    NO_printf("filter: %02x %d\n", fe->id, r);
  132|  5.16M|    if (r > 0)
  ------------------
  |  Branch (132:9): [True: 0, False: 5.16M]
  ------------------
  133|      0|        throwFilterException();
  134|  5.16M|    if (r == 0)
  ------------------
  |  Branch (134:9): [True: 5.16M, False: 0]
  ------------------
  135|  5.16M|        return true;
  136|      0|    return false;
  137|  5.16M|}
_ZN6Filter8unfilterEN5XSpan15PtrOrSpanOrNullIhEEjb:
  139|  5.19M|void Filter::unfilter(SPAN_0(byte) xbuf, unsigned buf_len_, bool verify_checksum) {
  140|  5.19M|    byte *const buf_ = raw_bytes(xbuf, buf_len_);
  141|  5.19M|    initFilter(this, buf_, buf_len_);
  142|       |
  143|  5.19M|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(id);
  144|  5.19M|    if (fe == nullptr)
  ------------------
  |  Branch (144:9): [True: 4, False: 5.19M]
  ------------------
  145|      4|        throwInternalError("unfilter-1");
  146|  5.19M|    if (fe->id == 0)
  ------------------
  |  Branch (146:9): [True: 0, False: 5.19M]
  ------------------
  147|      0|        return;
  148|  5.19M|    if (buf_len < fe->min_buf_len)
  ------------------
  |  Branch (148:9): [True: 0, False: 5.19M]
  ------------------
  149|      0|        return;
  150|  5.19M|    if (fe->max_buf_len && buf_len > fe->max_buf_len)
  ------------------
  |  Branch (150:9): [True: 5.17M, False: 22.5k]
  |  Branch (150:28): [True: 0, False: 5.17M]
  ------------------
  151|      0|        return;
  152|  5.19M|    if (!fe->do_unfilter)
  ------------------
  |  Branch (152:9): [True: 0, False: 5.19M]
  ------------------
  153|      0|        throwInternalError("unfilter-2");
  154|       |
  155|  5.19M|    NO_printf("unfilter: %02x %p %d\n", this->id, this->buf, this->buf_len);
  156|  5.19M|    int r = (*fe->do_unfilter)(this);
  157|  5.19M|    NO_printf("unfilter: %02x %d\n", fe->id, r);
  158|  5.19M|    if (r != 0)
  ------------------
  |  Branch (158:9): [True: 0, False: 5.19M]
  ------------------
  159|      0|        throwInternalError("unfilter-3");
  160|       |    // OutputFile::dump("unfilter.dat", buf, buf_len);
  161|       |
  162|       |    // verify checksum
  163|  5.19M|    if (verify_checksum && clevel != 1) {
  ------------------
  |  Branch (163:9): [True: 5.16M, False: 33.4k]
  |  Branch (163:28): [True: 5.16M, False: 0]
  ------------------
  164|  5.16M|        if (this->adler != upx_adler32(this->buf, this->buf_len))
  ------------------
  |  Branch (164:13): [True: 0, False: 5.16M]
  ------------------
  165|      0|            throwInternalError("unfilter-4");
  166|  5.16M|    }
  167|  5.19M|}
_ZN6Filter4scanEN5XSpan15PtrOrSpanOrNullIKhEEj:
  184|  6.10M|bool Filter::scan(SPAN_0(const byte) xbuf, unsigned buf_len_) {
  185|  6.10M|    const byte *const buf_ = raw_bytes(xbuf, buf_len_);
  186|       |    // Note: must use const_cast here. This is fine as the scan
  187|       |    //   implementations (fe->do_scan) actually don't change the buffer.
  188|  6.10M|    byte *const b = const_cast<byte *>(buf_);
  189|  6.10M|    initFilter(this, b, buf_len_);
  190|       |
  191|  6.10M|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(id);
  192|  6.10M|    if (fe == nullptr)
  ------------------
  |  Branch (192:9): [True: 0, False: 6.10M]
  ------------------
  193|      0|        throwInternalError("scan-1");
  194|  6.10M|    if (fe->id == 0)
  ------------------
  |  Branch (194:9): [True: 0, False: 6.10M]
  ------------------
  195|      0|        return true;
  196|  6.10M|    if (buf_len < fe->min_buf_len)
  ------------------
  |  Branch (196:9): [True: 939k, False: 5.16M]
  ------------------
  197|   939k|        return false;
  198|  5.16M|    if (fe->max_buf_len && buf_len > fe->max_buf_len)
  ------------------
  |  Branch (198:9): [True: 5.16M, False: 0]
  |  Branch (198:28): [True: 0, False: 5.16M]
  ------------------
  199|      0|        return false;
  200|  5.16M|    if (!fe->do_scan)
  ------------------
  |  Branch (200:9): [True: 0, False: 5.16M]
  ------------------
  201|      0|        throwInternalError("scan-2");
  202|       |
  203|  5.16M|    NO_printf("filter: %02x %p %d\n", this->id, this->buf, this->buf_len);
  204|  5.16M|    int r = (*fe->do_scan)(this);
  205|  5.16M|    NO_printf("filter: %02x %d\n", fe->id, r);
  206|  5.16M|    if (r > 0)
  ------------------
  |  Branch (206:9): [True: 0, False: 5.16M]
  ------------------
  207|      0|        throwFilterException();
  208|  5.16M|    if (r == 0)
  ------------------
  |  Branch (208:9): [True: 5.16M, False: 0]
  ------------------
  209|  5.16M|        return true;
  210|      0|    return false;
  211|  5.16M|}
filter.cpp:_ZL10initFilterP6FilterPhj:
   36|  29.7M|static void initFilter(Filter *f, byte *buf, unsigned buf_len) noexcept {
   37|  29.7M|    f->buf = buf;
   38|  29.7M|    f->buf_len = buf_len;
   39|       |    // clear output parameters
   40|  29.7M|    f->calls = f->wrongcalls = f->noncalls = f->firstcall = f->lastcall = 0;
   41|  29.7M|}
filter.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  217|  14.6k|TEST_CASE("ARM64 branch filters") {
  218|  14.6k|    const struct {
  219|  14.6k|        unsigned instruction;
  220|  14.6k|        unsigned mask;
  221|  14.6k|        unsigned shift;
  222|  14.6k|    } instructions[] = {
  223|  14.6k|        {0xd503201f, 0, 0},          // nop
  224|  14.6k|        {0x17ffffff, 0x03ffffff, 0}, // b
  225|  14.6k|        {0x94000010, 0x03ffffff, 0}, // bl
  226|  14.6k|        {0x54ffffe1, 0x00ffffe0, 5}, // b.ne
  227|  14.6k|        {0x34000065, 0x00ffffe0, 5}, // cbz w5
  228|  14.6k|        {0xb4ffffc5, 0x00ffffe0, 5}, // cbz x5
  229|  14.6k|        {0x35ffffe7, 0x00ffffe0, 5}, // cbnz w7
  230|  14.6k|        {0xb5000047, 0x00ffffe0, 5}, // cbnz x7
  231|  14.6k|        {0x361ffff1, 0x0007ffe0, 5}, // tbz
  232|  14.6k|        {0xb7f80024, 0x0007ffe0, 5}, // tbnz
  233|  14.6k|        {0x91000400, 0, 0},          // add
  234|  14.6k|        {0x14000002, 0x03ffffff, 0}, // final b
  235|  14.6k|    };
  236|  14.6k|    constexpr unsigned n_words = sizeof(instructions) / sizeof(instructions[0]);
  237|  14.6k|    constexpr unsigned n_bytes = 4 * n_words + 3;
  238|  14.6k|    byte original[n_bytes];
  239|  14.6k|    memset(original, 0xa5, sizeof(original));
  240|   190k|    for (unsigned i = 0; i < n_words; ++i)
  ------------------
  |  Branch (240:26): [True: 176k, False: 14.6k]
  ------------------
  241|   176k|        set_le32(original + 4 * i, instructions[i].instruction);
  242|       |
  243|  14.6k|    const int ids[] = {
  244|  14.6k|        0x53,
  245|  14.6k|        0x52,
  246|  14.6k|    };
  247|  29.3k|    for (int id : ids) {
  ------------------
  |  Branch (247:17): [True: 29.3k, False: 14.6k]
  ------------------
  248|  29.3k|        CHECK(Filter::isValidFilter(id));
  ------------------
  |  | 2968|  29.3k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  29.3k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  29.3k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  29.3k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  29.3k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  29.3k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  29.3k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  29.3k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  29.3k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  29.3k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  29.3k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  29.3k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  29.3k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  29.3k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  29.3k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  29.3k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  249|   117k|        for (unsigned addvalue : {0u, 0x1000u, 0x1234u, 0xfffffff0u}) {
  ------------------
  |  Branch (249:32): [True: 117k, False: 29.3k]
  ------------------
  250|  6.22M|            for (unsigned len = 0; len <= n_bytes; ++len) {
  ------------------
  |  Branch (250:36): [True: 6.10M, False: 117k]
  ------------------
  251|  6.10M|                CAPTURE(id);
  ------------------
  |  | 2952|  6.10M|#define CAPTURE(x) DOCTEST_CAPTURE(x)
  |  |  ------------------
  |  |  |  | 2357|  6.10M|#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2344|  6.10M|    DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_),                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2350|  6.10M|    auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(                  \
  |  |  |  |  |  |  |  | 2351|  6.10M|        [&](std::ostream* s_name) {                                                                \
  |  |  |  |  |  |  |  | 2352|  6.10M|        doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
  |  |  |  |  |  |  |  | 2353|  6.10M|        mb_name.m_stream = s_name;                                                                 \
  |  |  |  |  |  |  |  | 2354|  6.10M|        mb_name * __VA_ARGS__;                                                                     \
  |  |  |  |  |  |  |  | 2355|  6.10M|    })
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2345|  6.10M|                      DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_),                                   \
  |  |  |  |  |  | 2346|  6.10M|                      __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  6.10M|                CAPTURE(addvalue);
  ------------------
  |  | 2952|  6.10M|#define CAPTURE(x) DOCTEST_CAPTURE(x)
  |  |  ------------------
  |  |  |  | 2357|  6.10M|#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2344|  6.10M|    DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_),                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2350|  6.10M|    auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(                  \
  |  |  |  |  |  |  |  | 2351|  6.10M|        [&](std::ostream* s_name) {                                                                \
  |  |  |  |  |  |  |  | 2352|  6.10M|        doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
  |  |  |  |  |  |  |  | 2353|  6.10M|        mb_name.m_stream = s_name;                                                                 \
  |  |  |  |  |  |  |  | 2354|  6.10M|        mb_name * __VA_ARGS__;                                                                     \
  |  |  |  |  |  |  |  | 2355|  6.10M|    })
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2345|  6.10M|                      DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_),                                   \
  |  |  |  |  |  | 2346|  6.10M|                      __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  253|  6.10M|                CAPTURE(len);
  ------------------
  |  | 2952|  6.10M|#define CAPTURE(x) DOCTEST_CAPTURE(x)
  |  |  ------------------
  |  |  |  | 2357|  6.10M|#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2344|  6.10M|    DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_),                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2350|  6.10M|    auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(                  \
  |  |  |  |  |  |  |  | 2351|  6.10M|        [&](std::ostream* s_name) {                                                                \
  |  |  |  |  |  |  |  | 2352|  6.10M|        doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
  |  |  |  |  |  |  |  | 2353|  6.10M|        mb_name.m_stream = s_name;                                                                 \
  |  |  |  |  |  |  |  | 2354|  6.10M|        mb_name * __VA_ARGS__;                                                                     \
  |  |  |  |  |  |  |  | 2355|  6.10M|    })
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2345|  6.10M|                      DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_),                                   \
  |  |  |  |  |  | 2346|  6.10M|                      __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  254|  6.10M|                byte buf[n_bytes], expected[n_bytes];
  255|  6.10M|                memcpy(buf, original, sizeof(buf));
  256|  6.10M|                memcpy(expected, original, sizeof(expected));
  257|  6.10M|                Filter f(3);
  258|  6.10M|                f.init(id, addvalue);
  259|  6.10M|                if (len < 8) {
  ------------------
  |  Branch (259:21): [True: 939k, False: 5.16M]
  ------------------
  260|   939k|                    CHECK_FALSE(f.scan(buf, len));
  ------------------
  |  | 2969|   939k|#define CHECK_FALSE(...) DOCTEST_CHECK_FALSE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2442|   939k|#define DOCTEST_CHECK_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   939k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   939k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   939k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   939k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   939k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   939k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   939k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   939k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   939k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   939k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   939k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   939k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   939k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   939k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 939k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   939k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   939k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   939k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   939k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   939k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 939k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  261|   939k|                    CHECK_FALSE(f.filter(buf, len));
  ------------------
  |  | 2969|   939k|#define CHECK_FALSE(...) DOCTEST_CHECK_FALSE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2442|   939k|#define DOCTEST_CHECK_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   939k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   939k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   939k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   939k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   939k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   939k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   939k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   939k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   939k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   939k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   939k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   939k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   939k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   939k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 939k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   939k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   939k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   939k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   939k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   939k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 939k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  262|   939k|                    CHECK(memcmp(buf, original, sizeof(buf)) == 0);
  ------------------
  |  | 2968|   939k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   939k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   939k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   939k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   939k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   939k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   939k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   939k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   939k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   939k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   939k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   939k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   939k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   939k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   939k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   939k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 939k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   939k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   939k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   939k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   939k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   939k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   939k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 939k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|   939k|                    continue;
  264|   939k|                }
  265|  5.16M|                unsigned calls = 0;
  266|  40.6M|                for (unsigned i = 0; i < n_words; ++i) {
  ------------------
  |  Branch (266:38): [True: 40.2M, False: 410k]
  ------------------
  267|  40.2M|                    const unsigned a = 4 * i;
  268|  40.2M|                    if (a + 4 > len || (id == 0x52 && a + 4 == len))
  ------------------
  |  Branch (268:25): [True: 4.10M, False: 36.1M]
  |  Branch (268:41): [True: 18.0M, False: 18.0M]
  |  Branch (268:55): [True: 645k, False: 17.4M]
  ------------------
  269|  4.75M|                        break;
  270|  35.5M|                    const auto &insn = instructions[i];
  271|  35.5M|                    if (insn.mask == 0 || (id == 0x52 && insn.shift != 0))
  ------------------
  |  Branch (271:25): [True: 6.04M, False: 29.4M]
  |  Branch (271:44): [True: 14.4M, False: 15.0M]
  |  Branch (271:58): [True: 9.45M, False: 4.98M]
  ------------------
  272|  15.4M|                        continue;
  273|  20.0M|                    const unsigned d = a / 4 + (insn.shift == 0 ? addvalue : 0);
  ------------------
  |  Branch (273:49): [True: 10.1M, False: 9.86M]
  ------------------
  274|  20.0M|                    const unsigned field = (insn.instruction >> insn.shift) + d;
  275|  20.0M|                    set_le32(expected + a,
  276|  20.0M|                             (insn.instruction & ~insn.mask) | ((field << insn.shift) & insn.mask));
  277|  20.0M|                    ++calls;
  278|  20.0M|                }
  279|  5.16M|                REQUIRE(f.scan(buf, len));
  ------------------
  |  | 2975|  5.16M|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  5.16M|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  5.16M|                CHECK(f.calls == calls);
  ------------------
  |  | 2968|  5.16M|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  5.16M|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  5.16M|                CHECK(memcmp(buf, original, sizeof(buf)) == 0);
  ------------------
  |  | 2968|  5.16M|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  5.16M|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|  5.16M|                REQUIRE(f.filter(buf, len));
  ------------------
  |  | 2975|  5.16M|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  5.16M|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  5.16M|                CHECK(f.calls == calls);
  ------------------
  |  | 2968|  5.16M|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  5.16M|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  5.16M|                CHECK(memcmp(buf, expected, sizeof(buf)) == 0);
  ------------------
  |  | 2968|  5.16M|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  5.16M|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  5.16M|                f.unfilter(buf, len, true);
  286|  5.16M|                CHECK(memcmp(buf, original, sizeof(buf)) == 0);
  ------------------
  |  | 2968|  5.16M|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  5.16M|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  5.16M|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  5.16M|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  5.16M|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  5.16M|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  5.16M|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  5.16M|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  5.16M|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  5.16M|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  5.16M|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  5.16M|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  5.16M|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  5.16M|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  5.16M|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  5.16M|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 5.16M]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  5.16M|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  5.16M|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  5.16M|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  5.16M|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  5.16M|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  5.16M|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 5.16M]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  5.16M|                UNUSED(calls);
  ------------------
  |  |  268|  5.16M|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  5.16M|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  288|  5.16M|            }
  289|   117k|        }
  290|  29.3k|    }
  291|  14.6k|}
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"
  ------------------
  |  |  515|      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 (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   54|      0|        memset(filter_map, 0xff, sizeof(filter_map));
   55|     62|        for (int i = 0; i < n_filters; i++) {
  ------------------
  |  Branch (55:25): [True: 61, False: 1]
  ------------------
   56|     61|            int filter_id = filters[i].id;
   57|     61|            assert_noexcept(filter_id >= 0 && filter_id <= 255);
  ------------------
  |  |  515|     61|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    122|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 61, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 61, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   58|     61|            assert_noexcept(filter_map[filter_id] == 0xff);
  ------------------
  |  |  515|     61|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    122|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   59|      0|            filter_map[filter_id] = (upx_uint8_t) i;
   60|     61|        }
   61|      1|    });

filter_impl.cpp:_ZL8get_ileni:
   88|  4.23M|{
   89|  4.23M|    int ilen = 2;
   90|  4.23M|    if (3 == (3& (w >>0))) {
  ------------------
  |  Branch (90:9): [True: 996k, False: 3.23M]
  ------------------
   91|   996k|        ilen += 2;
   92|   996k|        if (7 == (7& (w >>2))) {
  ------------------
  |  Branch (92:13): [True: 219k, False: 776k]
  ------------------
   93|   219k|            ilen += 2;
   94|   219k|            if (3 == (3& (w >>5))) { // same as stub/src/arch/riscv/64/bxx.S
  ------------------
  |  Branch (94:17): [True: 142k, False: 77.7k]
  ------------------
   95|   142k|                ilen += 2;
   96|   142k|            }
   97|       |            // NYI: 10 bytes or longer
   98|   219k|        }
   99|   996k|    }
  100|  4.23M|    return ilen;
  101|  4.23M|}
filter_impl.cpp:_ZL10u_auipc_leP6Filter:
  203|    283|static int U(Filter *f) {
  204|    283|    byte *b = f->buf;
  205|    283|    const int size = f->buf_len -8;
  206|       |
  207|    283|    int ic;
  208|    283|    int calls = 0, noncalls = 0;
  209|    283|    int lastcall = 0;
  210|       |
  211|    283|    int ilen;
  212|  4.49M|    for (ic = 0; ic <= size; ic += ilen) {
  ------------------
  |  Branch (212:18): [True: 4.49M, False: 283]
  ------------------
  213|  4.49M|        int word1 = get_le32(  ic+b);
  214|  4.49M|        if (!COND(word1)) { // not interesting at all
  ------------------
  |  |   77|  4.49M|#define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   71|  4.49M|#define AUIPC 0x17
  |  |  ------------------
  |  |               #define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   72|  4.49M|#define opf(w) (0x7f& (w))
  |  |  ------------------
  ------------------
  |  Branch (214:13): [True: 4.23M, False: 260k]
  ------------------
  215|  4.23M|            ilen = get_ilen(word1);
  216|  4.23M|            continue;  // advance to next instr
  217|  4.23M|        }
  218|   260k|        int word2 = get_le32(4+ic+b);
  219|   260k|        int r_aui = 037& (word2 >> 7);
  220|   260k|        if (CONDu(word2, r_aui)) {
  ------------------
  |  |  197|   260k|#define CONDu(word2, r_aui) ( r_aui==rs1u(word2) && ( \
  |  |  ------------------
  |  |  |  |  195|   521k|#define   rs1u(i_type) (037& ((i_type) >>27))
  |  |  ------------------
  |  |  |  Branch (197:31): [True: 173k, False: 87.0k]
  |  |  ------------------
  |  |  198|   173k|         0x03==opu(word2) /*FETCH*/ \
  |  |  ------------------
  |  |  |  |  193|   173k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   347k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:10): [True: 28.1k, False: 145k]
  |  |  ------------------
  |  |  199|   173k|     || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  193|   145k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   291k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  194|  37.7k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (199:10): [True: 37.7k, False: 107k]
  |  |  |  Branch (199:30): [True: 18.8k, False: 18.8k]
  |  |  ------------------
  |  |  200|   173k|     || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  193|   126k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   253k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  194|  52.4k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (200:10): [True: 52.4k, False: 74.2k]
  |  |  |  Branch (200:30): [True: 28.1k, False: 24.2k]
  |  |  ------------------
  |  |  201|   173k|    ) )
  ------------------
  221|  75.2k|            lastcall = ic;
  222|  75.2k|            ++calls;
  223|  75.2k|        }
  224|   185k|        else {
  225|   185k|            ++noncalls;
  226|   185k|        }
  227|       |
  228|   260k|        int addr = get_be32(1+ic+b);  // Note BIG_ENDIAN fetch at 1-byte offset
  229|   260k|        addr = (~0xff & addr) | ((0x7f& addr) <<1) | (1& (word1 >>7));
  230|   260k|        addr -= ic;
  231|   260k|        addr += ((1u <<11)& addr) <<1;  // 12-bit imm is sign-extended
  232|       |
  233|   260k|        set_le32(0+ic+b, (~0xfff& addr) | (r_aui <<7) | AUIPC);
  ------------------
  |  |   71|   260k|#define AUIPC 0x17
  ------------------
  234|   260k|        set_le32(4+ic+b,    (addr <<20) | ((unsigned)word2 >>12));
  235|   260k|        ilen = 4;  // resume scanning after AUIPC
  236|       |
  237|   260k|        if (0) { // DEBUG
  ------------------
  |  Branch (237:13): [Folded, False: 260k]
  ------------------
  238|      0|            char line[100];
  239|      0|            int len = snprintf(line, sizeof(line), "%#6x  %#8.8x %#8.8x  %#8.8x %#8.8x\n",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
  240|      0|                ic, get_le32(0+ic+b), get_le32(4+ic+b), word1, word2);
  241|      0|            if (len != write(8, line, len)) {
  ------------------
  |  Branch (241:17): [True: 0, False: 0]
  ------------------
  242|      0|                exit(8);
  243|      0|            }
  244|      0|        }
  245|   260k|    }
  246|       |
  247|    283|    f->calls = calls;
  248|    283|    f->noncalls = noncalls;
  249|    283|    f->lastcall = lastcall;
  250|       |
  251|       |#if 0 || defined(TESTING)
  252|       |    printf("\ncalls=%d  noncalls=%d  text_size=%#x\n",calls,noncalls,size);
  253|       |#endif
  254|    283|    return 0;
  255|    283|}

filter_impl.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  435|  14.6k|TEST_CASE("ARM64 enhanced filter conditional offsets") {
  436|  14.6k|    const unsigned instructions[] = {
  437|  14.6k|        0xd503201f, 0x94000002, 0x54000021, 0x34000044, 0x36000065, 0xd503201f,
  438|  14.6k|    };
  439|  44.0k|    for (unsigned addvalue : {0u, 0x1000u, 0xfffffff0u}) {
  ------------------
  |  Branch (439:28): [True: 44.0k, False: 14.6k]
  ------------------
  440|  44.0k|        CAPTURE(addvalue);
  ------------------
  |  | 2952|  44.0k|#define CAPTURE(x) DOCTEST_CAPTURE(x)
  |  |  ------------------
  |  |  |  | 2357|  44.0k|#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2344|  44.0k|    DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_),                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2350|  44.0k|    auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(                  \
  |  |  |  |  |  |  |  | 2351|  44.0k|        [&](std::ostream* s_name) {                                                                \
  |  |  |  |  |  |  |  | 2352|  44.0k|        doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
  |  |  |  |  |  |  |  | 2353|  44.0k|        mb_name.m_stream = s_name;                                                                 \
  |  |  |  |  |  |  |  | 2354|  44.0k|        mb_name * __VA_ARGS__;                                                                     \
  |  |  |  |  |  |  |  | 2355|  44.0k|    })
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2345|  44.0k|                      DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_),                                   \
  |  |  |  |  |  | 2346|  44.0k|                      __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  441|  44.0k|        byte buf[sizeof(instructions)];
  442|   308k|        for (unsigned i = 0; i < sizeof(instructions) / sizeof(instructions[0]); ++i)
  ------------------
  |  Branch (442:30): [True: 264k, False: 44.0k]
  ------------------
  443|   264k|            set_le32(buf + 4 * i, instructions[i]);
  444|  44.0k|        Filter f(3);
  445|  44.0k|        f.buf = buf;
  446|  44.0k|        f.buf_len = sizeof(buf);
  447|  44.0k|        f.addvalue = addvalue;
  448|  44.0k|        REQUIRE(CTarm64(&f, 1) == 0);
  ------------------
  |  | 2975|  44.0k|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  44.0k|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|  44.0k|        CHECK(get_le32(buf + 4) == (0x94000000 | ((addvalue + 3) & 0x03ffffff)));
  ------------------
  |  | 2968|  44.0k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  44.0k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  450|  44.0k|        CHECK(get_le32(buf + 8) == 0x54000061);
  ------------------
  |  | 2968|  44.0k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  44.0k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|  44.0k|        CHECK(get_le32(buf + 12) == 0x340000a4);
  ------------------
  |  | 2968|  44.0k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  44.0k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  452|  44.0k|        CHECK(get_le32(buf + 16) == 0x360000e5);
  ------------------
  |  | 2968|  44.0k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  44.0k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  453|  44.0k|        REQUIRE(CTarm64(&f, -1) == 0);
  ------------------
  |  | 2975|  44.0k|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  44.0k|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  44.0k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  44.0k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  44.0k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  44.0k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  44.0k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  44.0k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  44.0k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  44.0k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  44.0k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  44.0k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  44.0k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  44.0k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  44.0k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|   308k|        for (unsigned i = 0; i < sizeof(instructions) / sizeof(instructions[0]); ++i)
  ------------------
  |  Branch (454:30): [True: 264k, False: 44.0k]
  ------------------
  455|   264k|            CHECK(get_le32(buf + 4 * i) == instructions[i]);
  ------------------
  |  | 2968|  44.0k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  44.0k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   264k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   264k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   264k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   264k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   264k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   264k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   264k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   264k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   264k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   264k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   264k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   264k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   264k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   264k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   264k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 264k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   264k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   264k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   264k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   264k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   264k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   308k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 264k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|  44.0k|    }
  457|  14.6k|}
filter_impl.cpp:_ZL7CTarm64P6Filteri:
  393|  7.95M|static int CTarm64(Filter *f, int dir) { // dir: 1, 0, -1
  394|  7.95M|    byte *b = f->buf;                    // will be incremented
  395|  7.95M|    byte *const b_end = b + f->buf_len - 4;
  396|  55.4M|    do {
  397|  55.4M|        const unsigned a = b - f->buf;
  398|  55.4M|        const unsigned d = dir * (a >> 2);
  399|  55.4M|        const unsigned v = get_le32(b);   // the 32-bit instruction
  400|  55.4M|        if (0x05 == (0x1f & (v >> 26))) { // b, bl
  ------------------
  |  Branch (400:13): [True: 15.7M, False: 39.7M]
  ------------------
  401|  15.7M|            f->lastcall = a;
  402|  15.7M|            if (dir)
  ------------------
  |  Branch (402:17): [True: 10.5M, False: 5.16M]
  ------------------
  403|  10.5M|                set_le26(b, v + d + dir * f->addvalue);
  404|  15.7M|            f->calls++;
  405|  39.7M|        } else if ((0x54 == (v >> 24))             // b.cond
  ------------------
  |  Branch (405:20): [True: 6.43M, False: 33.3M]
  ------------------
  406|  33.3M|                   || (0x1a == ((v >> 25) & 0x3f)) // cb{z,nz}
  ------------------
  |  Branch (406:23): [True: 18.4M, False: 14.9M]
  ------------------
  407|  39.7M|        ) {
  408|  24.8M|            f->lastcall = a;
  409|  24.8M|            if (dir)
  ------------------
  |  Branch (409:17): [True: 16.6M, False: 8.21M]
  ------------------
  410|  16.6M|                set_le19_5(b, (v >> 5) + d);
  411|  24.8M|            f->calls++;
  412|  24.8M|        } else if (0x1b == ((v >> 25) & 0x3f)) { // tb{z,nz}
  ------------------
  |  Branch (412:20): [True: 5.03M, False: 9.87M]
  ------------------
  413|  5.03M|            f->lastcall = a;
  414|  5.03M|            if (dir)
  ------------------
  |  Branch (414:17): [True: 3.38M, False: 1.64M]
  ------------------
  415|  3.38M|                set_le14_5(b, (v >> 5) + d);
  416|  5.03M|            f->calls++;
  417|  5.03M|        }
  418|  55.4M|        b += 4;
  419|  55.4M|    } while (b <= b_end);
  ------------------
  |  Branch (419:14): [True: 47.5M, False: 7.95M]
  ------------------
  420|  7.95M|    if (f->lastcall)
  ------------------
  |  Branch (420:9): [True: 7.95M, False: 1]
  ------------------
  421|  7.95M|        f->lastcall += 4;
  422|  7.95M|    return 0;
  423|  7.95M|}
filter_impl.cpp:_ZL19DOCTEST_ANON_FUNC_7v:
  459|  14.6k|TEST_CASE("ARM64 enhanced filter final instruction") {
  460|  73.3k|    for (unsigned len = 8; len <= 11; ++len) {
  ------------------
  |  Branch (460:28): [True: 58.7k, False: 14.6k]
  ------------------
  461|  58.7k|        CAPTURE(len);
  ------------------
  |  | 2952|  58.7k|#define CAPTURE(x) DOCTEST_CAPTURE(x)
  |  |  ------------------
  |  |  |  | 2357|  58.7k|#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2344|  58.7k|    DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_),                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2350|  58.7k|    auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope(                  \
  |  |  |  |  |  |  |  | 2351|  58.7k|        [&](std::ostream* s_name) {                                                                \
  |  |  |  |  |  |  |  | 2352|  58.7k|        doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \
  |  |  |  |  |  |  |  | 2353|  58.7k|        mb_name.m_stream = s_name;                                                                 \
  |  |  |  |  |  |  |  | 2354|  58.7k|        mb_name * __VA_ARGS__;                                                                     \
  |  |  |  |  |  |  |  | 2355|  58.7k|    })
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2345|  58.7k|                      DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_),                                   \
  |  |  |  |  |  | 2346|  58.7k|                      __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  462|  58.7k|        byte buf[11];
  463|  58.7k|        set_le32(buf, 0xd503201f);
  464|  58.7k|        set_le32(buf + 4, 0x14000000);
  465|  58.7k|        memset(buf + 8, 0xa5, 3);
  466|  58.7k|        Filter f(3);
  467|  58.7k|        f.buf = buf;
  468|  58.7k|        f.buf_len = len;
  469|  58.7k|        REQUIRE(CTarm64(&f, 1) == 0);
  ------------------
  |  | 2975|  58.7k|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  58.7k|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  470|  58.7k|        CHECK(get_le32(buf + 4) == 0x14000001);
  ------------------
  |  | 2968|  58.7k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  58.7k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  471|  58.7k|        CHECK(f.calls == 1);
  ------------------
  |  | 2968|  58.7k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  58.7k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  472|  58.7k|        REQUIRE(CTarm64(&f, -1) == 0);
  ------------------
  |  | 2975|  58.7k|#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2440|  58.7k|#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  473|  58.7k|        CHECK(get_le32(buf) == 0xd503201f);
  ------------------
  |  | 2968|  58.7k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  58.7k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  474|  58.7k|        CHECK(get_le32(buf + 4) == 0x14000000);
  ------------------
  |  | 2968|  58.7k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  58.7k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  58.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  58.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  58.7k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  58.7k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  58.7k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  58.7k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  58.7k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  58.7k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  58.7k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  58.7k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  58.7k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  58.7k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  58.7k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  58.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: 58.7k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  58.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  58.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  58.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  58.7k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  58.7k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  58.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 58.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|   234k|        for (unsigned i = 8; i < sizeof(buf); ++i)
  ------------------
  |  Branch (475:30): [True: 176k, False: 58.7k]
  ------------------
  476|   176k|            CHECK(buf[i] == 0xa5);
  ------------------
  |  | 2968|  58.7k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  58.7k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   176k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   176k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   176k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   176k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   176k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   176k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   176k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   176k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   176k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   176k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   176k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   176k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   176k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   176k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   176k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 176k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   176k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   176k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   176k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   176k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   176k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 176k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  477|  58.7k|    }
  478|  14.6k|}
filter_impl.cpp:_ZL9u_ct16_e8P6Filter:
   61|    386|static int u_ct16_e8(Filter *f) { CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   35|    386|    byte *b = f->buf;                                                                              \
  |  |   36|    386|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  3.17M|    do {                                                                                           \
  |  |   38|  3.17M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 377k, False: 2.79M]
  |  |  ------------------
  |  |   39|   377k|            b += 1;                                                                                \
  |  |   40|   377k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   377k|            f->lastcall = a;                                                                       \
  |  |   42|   377k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   377k|            f->calls++;                                                                            \
  |  |   44|   377k|            b += 2 - 1;                                                                            \
  |  |   45|   377k|        }                                                                                          \
  |  |   46|  3.17M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 3.17M, False: 386]
  |  |  ------------------
  |  |   47|    386|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 32, False: 354]
  |  |  ------------------
  |  |   48|    386|        f->lastcall += 2;                                                                          \
  |  |   49|    386|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct16_e9P6Filter:
   63|    398|static int u_ct16_e9(Filter *f) { CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   35|    398|    byte *b = f->buf;                                                                              \
  |  |   36|    398|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  5.94M|    do {                                                                                           \
  |  |   38|  5.94M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 429k, False: 5.51M]
  |  |  ------------------
  |  |   39|   429k|            b += 1;                                                                                \
  |  |   40|   429k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   429k|            f->lastcall = a;                                                                       \
  |  |   42|   429k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   429k|            f->calls++;                                                                            \
  |  |   44|   429k|            b += 2 - 1;                                                                            \
  |  |   45|   429k|        }                                                                                          \
  |  |   46|  5.94M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 5.94M, False: 398]
  |  |  ------------------
  |  |   47|    398|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 25, False: 373]
  |  |  ------------------
  |  |   48|    398|        f->lastcall += 2;                                                                          \
  |  |   49|    398|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct16_e8e9P6Filter:
   65|    410|static int u_ct16_e8e9(Filter *f) {
   66|    410|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16)
  ------------------
  |  |   35|    410|    byte *b = f->buf;                                                                              \
  |  |   36|    410|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  2.76M|    do {                                                                                           \
  |  |   38|  8.16M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 139k, False: 2.62M]
  |  |  |  Branch (38:13): [True: 439k, False: 2.18M]
  |  |  ------------------
  |  |   39|   579k|            b += 1;                                                                                \
  |  |   40|   579k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   579k|            f->lastcall = a;                                                                       \
  |  |   42|   579k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   579k|            f->calls++;                                                                            \
  |  |   44|   579k|            b += 2 - 1;                                                                            \
  |  |   45|   579k|        }                                                                                          \
  |  |   46|  2.76M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 2.76M, False: 410]
  |  |  ------------------
  |  |   47|    410|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 232, False: 178]
  |  |  ------------------
  |  |   48|    410|        f->lastcall += 2;                                                                          \
  |  |   49|    410|    return 0;
  ------------------
   67|    410|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_leP6Filter:
   92|    315|static int u_ct16_e8_bswap_le(Filter *f) {
   93|    315|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   35|    315|    byte *b = f->buf;                                                                              \
  |  |   36|    315|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  3.52M|    do {                                                                                           \
  |  |   38|  3.52M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 355k, False: 3.16M]
  |  |  ------------------
  |  |   39|   355k|            b += 1;                                                                                \
  |  |   40|   355k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   355k|            f->lastcall = a;                                                                       \
  |  |   42|   355k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   355k|            f->calls++;                                                                            \
  |  |   44|   355k|            b += 2 - 1;                                                                            \
  |  |   45|   355k|        }                                                                                          \
  |  |   46|  3.52M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 3.52M, False: 315]
  |  |  ------------------
  |  |   47|    315|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 51, False: 264]
  |  |  ------------------
  |  |   48|    315|        f->lastcall += 2;                                                                          \
  |  |   49|    315|    return 0;
  ------------------
   94|    315|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_leP6Filter:
   96|    473|static int u_ct16_e9_bswap_le(Filter *f) {
   97|    473|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   35|    473|    byte *b = f->buf;                                                                              \
  |  |   36|    473|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  12.3M|    do {                                                                                           \
  |  |   38|  12.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 395k, False: 11.9M]
  |  |  ------------------
  |  |   39|   395k|            b += 1;                                                                                \
  |  |   40|   395k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   395k|            f->lastcall = a;                                                                       \
  |  |   42|   395k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   395k|            f->calls++;                                                                            \
  |  |   44|   395k|            b += 2 - 1;                                                                            \
  |  |   45|   395k|        }                                                                                          \
  |  |   46|  12.3M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 12.3M, False: 473]
  |  |  ------------------
  |  |   47|    473|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 253, False: 220]
  |  |  ------------------
  |  |   48|    473|        f->lastcall += 2;                                                                          \
  |  |   49|    473|    return 0;
  ------------------
   98|    473|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_leP6Filter:
  100|    373|static int u_ct16_e8e9_bswap_le(Filter *f) {
  101|    373|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   35|    373|    byte *b = f->buf;                                                                              \
  |  |   36|    373|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  3.98M|    do {                                                                                           \
  |  |   38|  11.7M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 203k, False: 3.77M]
  |  |  |  Branch (38:13): [True: 247k, False: 3.52M]
  |  |  ------------------
  |  |   39|   450k|            b += 1;                                                                                \
  |  |   40|   450k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   450k|            f->lastcall = a;                                                                       \
  |  |   42|   450k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   450k|            f->calls++;                                                                            \
  |  |   44|   450k|            b += 2 - 1;                                                                            \
  |  |   45|   450k|        }                                                                                          \
  |  |   46|  3.98M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 3.97M, False: 373]
  |  |  ------------------
  |  |   47|    373|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 28, False: 345]
  |  |  ------------------
  |  |   48|    373|        f->lastcall += 2;                                                                          \
  |  |   49|    373|    return 0;
  ------------------
  102|    373|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_beP6Filter:
  131|    586|static int u_ct16_e8_bswap_be(Filter *f) {
  132|    586|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   35|    586|    byte *b = f->buf;                                                                              \
  |  |   36|    586|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  1.64M|    do {                                                                                           \
  |  |   38|  1.64M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 200k, False: 1.44M]
  |  |  ------------------
  |  |   39|   200k|            b += 1;                                                                                \
  |  |   40|   200k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   200k|            f->lastcall = a;                                                                       \
  |  |   42|   200k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   200k|            f->calls++;                                                                            \
  |  |   44|   200k|            b += 2 - 1;                                                                            \
  |  |   45|   200k|        }                                                                                          \
  |  |   46|  1.64M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 1.64M, False: 586]
  |  |  ------------------
  |  |   47|    586|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 334, False: 252]
  |  |  ------------------
  |  |   48|    586|        f->lastcall += 2;                                                                          \
  |  |   49|    586|    return 0;
  ------------------
  133|    586|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_beP6Filter:
  135|    905|static int u_ct16_e9_bswap_be(Filter *f) {
  136|    905|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   35|    905|    byte *b = f->buf;                                                                              \
  |  |   36|    905|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  6.20M|    do {                                                                                           \
  |  |   38|  6.20M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 511k, False: 5.69M]
  |  |  ------------------
  |  |   39|   511k|            b += 1;                                                                                \
  |  |   40|   511k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   511k|            f->lastcall = a;                                                                       \
  |  |   42|   511k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   511k|            f->calls++;                                                                            \
  |  |   44|   511k|            b += 2 - 1;                                                                            \
  |  |   45|   511k|        }                                                                                          \
  |  |   46|  6.20M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 6.20M, False: 905]
  |  |  ------------------
  |  |   47|    905|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 25, False: 880]
  |  |  ------------------
  |  |   48|    905|        f->lastcall += 2;                                                                          \
  |  |   49|    905|    return 0;
  ------------------
  137|    905|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_beP6Filter:
  139|     88|static int u_ct16_e8e9_bswap_be(Filter *f) {
  140|     88|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   35|     88|    byte *b = f->buf;                                                                              \
  |  |   36|     88|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  4.68M|    do {                                                                                           \
  |  |   38|  13.8M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 192k, False: 4.49M]
  |  |  |  Branch (38:13): [True: 356k, False: 4.13M]
  |  |  ------------------
  |  |   39|   549k|            b += 1;                                                                                \
  |  |   40|   549k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   549k|            f->lastcall = a;                                                                       \
  |  |   42|   549k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   549k|            f->calls++;                                                                            \
  |  |   44|   549k|            b += 2 - 1;                                                                            \
  |  |   45|   549k|        }                                                                                          \
  |  |   46|  4.68M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 4.68M, False: 88]
  |  |  ------------------
  |  |   47|     88|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 34, False: 54]
  |  |  ------------------
  |  |   48|     88|        f->lastcall += 2;                                                                          \
  |  |   49|     88|    return 0;
  ------------------
  141|     88|}
filter_impl.cpp:_ZL9u_ct32_e8P6Filter:
  189|    150|static int u_ct32_e8(Filter *f) { CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  163|    150|    byte *b = f->buf;                                                                              \
  |  |  164|    150|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  2.84M|    do {                                                                                           \
  |  |  166|  2.84M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 178k, False: 2.66M]
  |  |  ------------------
  |  |  167|   178k|            b += 1;                                                                                \
  |  |  168|   178k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   178k|            f->lastcall = a;                                                                       \
  |  |  170|   178k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   178k|            f->calls++;                                                                            \
  |  |  172|   178k|            b += 4 - 1;                                                                            \
  |  |  173|   178k|        }                                                                                          \
  |  |  174|  2.84M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 2.84M, False: 150]
  |  |  ------------------
  |  |  175|    150|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 31, False: 119]
  |  |  ------------------
  |  |  176|    150|        f->lastcall += 4;                                                                          \
  |  |  177|    150|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct32_e9P6Filter:
  191|    553|static int u_ct32_e9(Filter *f) { CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  163|    553|    byte *b = f->buf;                                                                              \
  |  |  164|    553|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  3.70M|    do {                                                                                           \
  |  |  166|  3.70M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 542k, False: 3.16M]
  |  |  ------------------
  |  |  167|   542k|            b += 1;                                                                                \
  |  |  168|   542k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   542k|            f->lastcall = a;                                                                       \
  |  |  170|   542k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   542k|            f->calls++;                                                                            \
  |  |  172|   542k|            b += 4 - 1;                                                                            \
  |  |  173|   542k|        }                                                                                          \
  |  |  174|  3.70M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 3.70M, False: 553]
  |  |  ------------------
  |  |  175|    553|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 94, False: 459]
  |  |  ------------------
  |  |  176|    553|        f->lastcall += 4;                                                                          \
  |  |  177|    553|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct32_e8e9P6Filter:
  193|    532|static int u_ct32_e8e9(Filter *f) {
  194|    532|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32)
  ------------------
  |  |  163|    532|    byte *b = f->buf;                                                                              \
  |  |  164|    532|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  3.55M|    do {                                                                                           \
  |  |  166|  10.5M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 123k, False: 3.43M]
  |  |  |  Branch (166:13): [True: 136k, False: 3.29M]
  |  |  ------------------
  |  |  167|   259k|            b += 1;                                                                                \
  |  |  168|   259k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   259k|            f->lastcall = a;                                                                       \
  |  |  170|   259k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   259k|            f->calls++;                                                                            \
  |  |  172|   259k|            b += 4 - 1;                                                                            \
  |  |  173|   259k|        }                                                                                          \
  |  |  174|  3.55M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 3.55M, False: 532]
  |  |  ------------------
  |  |  175|    532|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 225, False: 307]
  |  |  ------------------
  |  |  176|    532|        f->lastcall += 4;                                                                          \
  |  |  177|    532|    return 0;
  ------------------
  195|    532|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_leP6Filter:
  220|  1.03k|static int u_ct32_e8_bswap_le(Filter *f) {
  221|  1.03k|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  163|  1.03k|    byte *b = f->buf;                                                                              \
  |  |  164|  1.03k|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  2.38M|    do {                                                                                           \
  |  |  166|  2.38M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 182k, False: 2.19M]
  |  |  ------------------
  |  |  167|   182k|            b += 1;                                                                                \
  |  |  168|   182k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   182k|            f->lastcall = a;                                                                       \
  |  |  170|   182k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   182k|            f->calls++;                                                                            \
  |  |  172|   182k|            b += 4 - 1;                                                                            \
  |  |  173|   182k|        }                                                                                          \
  |  |  174|  2.38M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 2.37M, False: 1.03k]
  |  |  ------------------
  |  |  175|  1.03k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 119, False: 914]
  |  |  ------------------
  |  |  176|  1.03k|        f->lastcall += 4;                                                                          \
  |  |  177|  1.03k|    return 0;
  ------------------
  222|  1.03k|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_leP6Filter:
  224|    314|static int u_ct32_e9_bswap_le(Filter *f) {
  225|    314|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  163|    314|    byte *b = f->buf;                                                                              \
  |  |  164|    314|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  2.13M|    do {                                                                                           \
  |  |  166|  2.13M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 125k, False: 2.00M]
  |  |  ------------------
  |  |  167|   125k|            b += 1;                                                                                \
  |  |  168|   125k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   125k|            f->lastcall = a;                                                                       \
  |  |  170|   125k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   125k|            f->calls++;                                                                            \
  |  |  172|   125k|            b += 4 - 1;                                                                            \
  |  |  173|   125k|        }                                                                                          \
  |  |  174|  2.13M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 2.13M, False: 314]
  |  |  ------------------
  |  |  175|    314|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 27, False: 287]
  |  |  ------------------
  |  |  176|    314|        f->lastcall += 4;                                                                          \
  |  |  177|    314|    return 0;
  ------------------
  226|    314|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_leP6Filter:
  228|    175|static int u_ct32_e8e9_bswap_le(Filter *f) {
  229|    175|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  163|    175|    byte *b = f->buf;                                                                              \
  |  |  164|    175|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  3.02M|    do {                                                                                           \
  |  |  166|  8.96M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 110k, False: 2.91M]
  |  |  |  Branch (166:13): [True: 103k, False: 2.80M]
  |  |  ------------------
  |  |  167|   213k|            b += 1;                                                                                \
  |  |  168|   213k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   213k|            f->lastcall = a;                                                                       \
  |  |  170|   213k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   213k|            f->calls++;                                                                            \
  |  |  172|   213k|            b += 4 - 1;                                                                            \
  |  |  173|   213k|        }                                                                                          \
  |  |  174|  3.02M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 3.02M, False: 175]
  |  |  ------------------
  |  |  175|    175|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 55, False: 120]
  |  |  ------------------
  |  |  176|    175|        f->lastcall += 4;                                                                          \
  |  |  177|    175|    return 0;
  ------------------
  230|    175|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_beP6Filter:
  259|    301|static int u_ct32_e8_bswap_be(Filter *f) {
  260|    301|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  163|    301|    byte *b = f->buf;                                                                              \
  |  |  164|    301|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  2.08M|    do {                                                                                           \
  |  |  166|  2.08M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 214k, False: 1.87M]
  |  |  ------------------
  |  |  167|   214k|            b += 1;                                                                                \
  |  |  168|   214k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|   214k|            f->lastcall = a;                                                                       \
  |  |  170|   214k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|   214k|            f->calls++;                                                                            \
  |  |  172|   214k|            b += 4 - 1;                                                                            \
  |  |  173|   214k|        }                                                                                          \
  |  |  174|  2.08M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 2.08M, False: 301]
  |  |  ------------------
  |  |  175|    301|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 260, False: 41]
  |  |  ------------------
  |  |  176|    301|        f->lastcall += 4;                                                                          \
  |  |  177|    301|    return 0;
  ------------------
  261|    301|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_beP6Filter:
  263|    853|static int u_ct32_e9_bswap_be(Filter *f) {
  264|    853|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  163|    853|    byte *b = f->buf;                                                                              \
  |  |  164|    853|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  1.73M|    do {                                                                                           \
  |  |  166|  1.73M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 90.7k, False: 1.64M]
  |  |  ------------------
  |  |  167|  90.7k|            b += 1;                                                                                \
  |  |  168|  90.7k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|  90.7k|            f->lastcall = a;                                                                       \
  |  |  170|  90.7k|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|  90.7k|            f->calls++;                                                                            \
  |  |  172|  90.7k|            b += 4 - 1;                                                                            \
  |  |  173|  90.7k|        }                                                                                          \
  |  |  174|  1.73M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 1.73M, False: 853]
  |  |  ------------------
  |  |  175|    853|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 230, False: 623]
  |  |  ------------------
  |  |  176|    853|        f->lastcall += 4;                                                                          \
  |  |  177|    853|    return 0;
  ------------------
  265|    853|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_beP6Filter:
  267|    330|static int u_ct32_e8e9_bswap_be(Filter *f) {
  268|    330|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  163|    330|    byte *b = f->buf;                                                                              \
  |  |  164|    330|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  165|  23.8M|    do {                                                                                           \
  |  |  166|  71.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (166:13): [True: 175k, False: 23.6M]
  |  |  |  Branch (166:13): [True: 4.04M, False: 19.6M]
  |  |  ------------------
  |  |  167|  4.22M|            b += 1;                                                                                \
  |  |  168|  4.22M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  169|  4.22M|            f->lastcall = a;                                                                       \
  |  |  170|  4.22M|            set(b, get(b) + (addvalue));                                                           \
  |  |  171|  4.22M|            f->calls++;                                                                            \
  |  |  172|  4.22M|            b += 4 - 1;                                                                            \
  |  |  173|  4.22M|        }                                                                                          \
  |  |  174|  23.8M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (174:14): [True: 23.8M, False: 330]
  |  |  ------------------
  |  |  175|    330|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (175:9): [True: 263, False: 67]
  |  |  ------------------
  |  |  176|    330|        f->lastcall += 4;                                                                          \
  |  |  177|    330|    return 0;
  ------------------
  269|    330|}
filter_impl.cpp:_ZL12u_ct24arm_leP6Filter:
  312|  2.00k|static int u_ct24arm_le(Filter *f) {
  313|  2.00k|    CT24ARM_LE(f, ARMCT_COND_le, 0 - a / 4 - f->addvalue, get_le24, set_le24)
  ------------------
  |  |  291|  2.00k|    byte *b = f->buf;                                                                              \
  |  |  292|  2.00k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  293|  1.34M|    do {                                                                                           \
  |  |  294|  1.34M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (294:13): [True: 105k, False: 1.23M]
  |  |  ------------------
  |  |  295|   105k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  296|   105k|            f->lastcall = a;                                                                       \
  |  |  297|   105k|            set(b, get(b) + (addvalue));                                                           \
  |  |  298|   105k|            f->calls++;                                                                            \
  |  |  299|   105k|        }                                                                                          \
  |  |  300|  1.34M|        b += 4;                                                                                    \
  |  |  301|  1.34M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (301:14): [True: 1.34M, False: 2.00k]
  |  |  ------------------
  |  |  302|  2.00k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (302:9): [True: 30, False: 1.97k]
  |  |  ------------------
  |  |  303|  2.00k|        f->lastcall += 4;                                                                          \
  |  |  304|  2.00k|    return 0;
  ------------------
  314|  2.00k|}
filter_impl.cpp:_ZL12u_ct24arm_beP6Filter:
  345|  1.21k|static int u_ct24arm_be(Filter *f) {
  346|  1.21k|    CT24ARM_BE(f, ARMCT_COND_be, 0 - a / 4 - f->addvalue, get_be24, set_be24)
  ------------------
  |  |  324|  1.21k|    byte *b = f->buf;                                                                              \
  |  |  325|  1.21k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  326|  2.29M|    do {                                                                                           \
  |  |  327|  2.29M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (327:13): [True: 137k, False: 2.15M]
  |  |  ------------------
  |  |  328|   137k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  329|   137k|            f->lastcall = a;                                                                       \
  |  |  330|   137k|            set(1 + b, get(1 + b) + (addvalue));                                                   \
  |  |  331|   137k|            f->calls++;                                                                            \
  |  |  332|   137k|        }                                                                                          \
  |  |  333|  2.29M|        b += 4;                                                                                    \
  |  |  334|  2.29M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (334:14): [True: 2.29M, False: 1.21k]
  |  |  ------------------
  |  |  335|  1.21k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (335:9): [True: 18, False: 1.19k]
  |  |  ------------------
  |  |  336|  1.21k|        f->lastcall += 4;                                                                          \
  |  |  337|  1.21k|    return 0;
  ------------------
  347|  1.21k|}
filter_impl.cpp:_ZL12f_ct26arm_leP6Filter:
  378|  2.58M|static int f_ct26arm_le(Filter *f) {
  379|  2.58M|    CT26ARM_LE(f, ARMCT_COND, a / 4 + f->addvalue, get_le26, set_le26)
  ------------------
  |  |  361|  2.58M|    byte *b = f->buf;                                                                              \
  |  |  362|  2.58M|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  363|  17.4M|    do {                                                                                           \
  |  |  364|  17.4M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (364:13): [True: 4.98M, False: 12.4M]
  |  |  ------------------
  |  |  365|  4.98M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  366|  4.98M|            f->lastcall = a;                                                                       \
  |  |  367|  4.98M|            set(b, get(b) + (addvalue));                                                           \
  |  |  368|  4.98M|            f->calls++;                                                                            \
  |  |  369|  4.98M|        }                                                                                          \
  |  |  370|  17.4M|        b += 4;                                                                                    \
  |  |  371|  17.4M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (371:14): [True: 14.8M, False: 2.58M]
  |  |  ------------------
  |  |  372|  2.58M|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (372:9): [True: 2.52M, False: 58.7k]
  |  |  ------------------
  |  |  373|  2.58M|        f->lastcall += 4;                                                                          \
  |  |  374|  2.58M|    return 0;
  ------------------
  380|  2.58M|}
filter_impl.cpp:_ZL12u_ct26arm_leP6Filter:
  382|  2.58M|static int u_ct26arm_le(Filter *f) {
  383|  2.58M|    CT26ARM_LE(f, ARMCT_COND, 0 - a / 4 - f->addvalue, get_le26, set_le26)
  ------------------
  |  |  361|  2.58M|    byte *b = f->buf;                                                                              \
  |  |  362|  2.58M|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  363|  22.5M|    do {                                                                                           \
  |  |  364|  22.5M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (364:13): [True: 5.39M, False: 17.1M]
  |  |  ------------------
  |  |  365|  5.39M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  366|  5.39M|            f->lastcall = a;                                                                       \
  |  |  367|  5.39M|            set(b, get(b) + (addvalue));                                                           \
  |  |  368|  5.39M|            f->calls++;                                                                            \
  |  |  369|  5.39M|        }                                                                                          \
  |  |  370|  22.5M|        b += 4;                                                                                    \
  |  |  371|  22.5M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (371:14): [True: 19.9M, False: 2.58M]
  |  |  ------------------
  |  |  372|  2.58M|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (372:9): [True: 2.52M, False: 58.7k]
  |  |  ------------------
  |  |  373|  2.58M|        f->lastcall += 4;                                                                          \
  |  |  374|  2.58M|    return 0;
  ------------------
  384|  2.58M|}
filter_impl.cpp:_ZL12s_ct26arm_leP6Filter:
  386|  2.58M|static int s_ct26arm_le(Filter *f) {
  387|  2.58M|    CT26ARM_LE(f, ARMCT_COND, a + f->addvalue, get_le26, set_dummy)
  ------------------
  |  |  361|  2.58M|    byte *b = f->buf;                                                                              \
  |  |  362|  2.58M|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  363|  17.4M|    do {                                                                                           \
  |  |  364|  17.4M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (364:13): [True: 4.98M, False: 12.4M]
  |  |  ------------------
  |  |  365|  4.98M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  366|  4.98M|            f->lastcall = a;                                                                       \
  |  |  367|  4.98M|            set(b, get(b) + (addvalue));                                                           \
  |  |  ------------------
  |  |  |  |  387|  4.98M|    CT26ARM_LE(f, ARMCT_COND, a + f->addvalue, get_le26, set_dummy)
  |  |  |  |  ------------------
  |  |  |  |  |  |   32|  4.98M|#define set_dummy(p, v) ((void) 0)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  368|  4.98M|            f->calls++;                                                                            \
  |  |  369|  4.98M|        }                                                                                          \
  |  |  370|  17.4M|        b += 4;                                                                                    \
  |  |  371|  17.4M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (371:14): [True: 14.8M, False: 2.58M]
  |  |  ------------------
  |  |  372|  2.58M|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (372:9): [True: 2.52M, False: 58.7k]
  |  |  ------------------
  |  |  373|  2.58M|        f->lastcall += 4;                                                                          \
  |  |  374|  2.58M|    return 0;
  ------------------
  388|  2.58M|}
filter_impl.cpp:_ZL12f_CTarm64_leP6Filter:
  425|  2.58M|static int f_CTarm64_le(Filter *f) { return CTarm64(f, 1); }
filter_impl.cpp:_ZL12u_CTarm64_leP6Filter:
  427|  2.58M|static int u_CTarm64_le(Filter *f) { return CTarm64(f, -1); }
filter_impl.cpp:_ZL12s_CTarm64_leP6Filter:
  429|  2.58M|static int s_CTarm64_le(Filter *f) { return CTarm64(f, 0); }

filter_impl.cpp:_ZL19u_cto32_e8_bswap_leP6Filter:
  129|    315|static int U(Filter *f) {
  130|    315|    byte *b = f->buf;
  131|    315|    const unsigned size5 = f->buf_len - 5;
  132|    315|    const unsigned addvalue = f->addvalue;
  133|    315|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    315|    unsigned ic, jc;
  136|       |
  137|  7.92M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 7.92M, False: 315]
  ------------------
  138|  7.92M|        if (COND(b, ic)) {
  ------------------
  |  |   58|  7.92M|#define COND(b, x) (b[x] == 0xe8)
  |  |  ------------------
  |  |  |  Branch (58:20): [True: 406k, False: 7.51M]
  |  |  ------------------
  ------------------
  139|   406k|            jc = get_be32(b + ic + 1);
  140|   406k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 129k, False: 277k]
  ------------------
  141|   129k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   129k|                f->calls++;
  143|   129k|                ic += 4;
  144|   129k|                f->lastcall = ic + 1;
  145|   129k|            } else
  146|   277k|                f->noncalls++;
  147|   406k|        }
  148|    315|    return 0;
  149|    315|}
filter_impl.cpp:_ZL19u_cto32_e9_bswap_leP6Filter:
  129|    644|static int U(Filter *f) {
  130|    644|    byte *b = f->buf;
  131|    644|    const unsigned size5 = f->buf_len - 5;
  132|    644|    const unsigned addvalue = f->addvalue;
  133|    644|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    644|    unsigned ic, jc;
  136|       |
  137|  2.82M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 2.82M, False: 644]
  ------------------
  138|  2.82M|        if (COND(b, ic)) {
  ------------------
  |  |   66|  2.82M|#define COND(b, x) (b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (66:20): [True: 117k, False: 2.71M]
  |  |  ------------------
  ------------------
  139|   117k|            jc = get_be32(b + ic + 1);
  140|   117k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 53.7k, False: 63.9k]
  ------------------
  141|  53.7k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|  53.7k|                f->calls++;
  143|  53.7k|                ic += 4;
  144|  53.7k|                f->lastcall = ic + 1;
  145|  53.7k|            } else
  146|  63.9k|                f->noncalls++;
  147|   117k|        }
  148|    644|    return 0;
  149|    644|}
filter_impl.cpp:_ZL21u_cto32_e8e9_bswap_leP6Filter:
  129|    346|static int U(Filter *f) {
  130|    346|    byte *b = f->buf;
  131|    346|    const unsigned size5 = f->buf_len - 5;
  132|    346|    const unsigned addvalue = f->addvalue;
  133|    346|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    346|    unsigned ic, jc;
  136|       |
  137|  34.1M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 34.1M, False: 346]
  ------------------
  138|  34.1M|        if (COND(b, ic)) {
  ------------------
  |  |   74|  34.1M|#define COND(b, x) (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (74:21): [True: 806k, False: 33.3M]
  |  |  |  Branch (74:37): [True: 333k, False: 33.0M]
  |  |  ------------------
  ------------------
  139|  1.13M|            jc = get_be32(b + ic + 1);
  140|  1.13M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 695k, False: 444k]
  ------------------
  141|   695k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   695k|                f->calls++;
  143|   695k|                ic += 4;
  144|   695k|                f->lastcall = ic + 1;
  145|   695k|            } else
  146|   444k|                f->noncalls++;
  147|  1.13M|        }
  148|    346|    return 0;
  149|    346|}

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

filter_impl.cpp:_ZL8f80_callPK6Filter:
   45|    350|static unsigned f80_call(const Filter *f) { return (1 + (0x0f & f->id)) % 3; }
filter_impl.cpp:_ZL8f80_jmp1PK6Filter:
   47|    700|static unsigned f80_jmp1(const Filter *f) { return ((1 + (0x0f & f->id)) / 3) % 3; }
filter_impl.cpp:_ZL8f80_jcc2PK6Filter:
   49|    350|static unsigned f80_jcc2(const Filter *f) { return f80_jmp1(f); }
filter_impl.cpp:_ZL10update_mrujiPjRiS0_:
   59|   278k|) {
   60|   278k|    if (0 > --hand) {
  ------------------
  |  Branch (60:9): [True: 9.95k, False: 268k]
  ------------------
   61|  9.95k|        hand = N_MRU - 1;
  ------------------
  |  |   51|  9.95k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   62|  9.95k|    }
   63|   278k|    const unsigned t = mru[hand]; // entry which will be overwritten by jc
   64|   278k|    if (0 != t) {                 // have seen at least N_MRU destinations
  ------------------
  |  Branch (64:9): [True: 138k, False: 140k]
  ------------------
   65|   138k|        mru[kh] = t;
   66|   140k|    } else { // "cold cache": keep active region contiguous
   67|   140k|        if (0 > --tail) {
  ------------------
  |  Branch (67:13): [True: 4.43k, False: 136k]
  ------------------
   68|  4.43k|            tail = N_MRU - 1;
  ------------------
  |  |   51|  4.43k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   69|  4.43k|        }
   70|   140k|        const unsigned t2 = mru[tail];
   71|   140k|        mru[tail] = 0;
   72|   140k|        mru[kh] = t2;
   73|   140k|    }
   74|   278k|    mru[hand] = jc;
   75|   278k|}
filter_impl.cpp:_ZL23u_ctojr32_e8e9_bswap_leP6Filter:
  234|    350|static int U(Filter *f) {
  235|    350|    unsigned ic, jc;
  236|       |
  237|    350|    byte *const b = f->buf;
  238|    350|    const unsigned size5 = f->buf_len - 5;
  239|    350|    const unsigned cto = (unsigned) f->cto << 24;
  240|    350|    unsigned lastcall = 0;
  241|    350|    int hand = 0, tail = 0;
  242|    350|    const unsigned f_call = f80_call(f);
  243|    350|    const unsigned f_jmp1 = f80_jmp1(f);
  244|    350|    const unsigned f_jcc2 = f80_jcc2(f);
  245|       |
  246|    350|    unsigned mru[N_MRU];
  247|    350|    memset(&mru[0], 0, sizeof(mru));
  248|       |
  249|  14.1M|    for (ic = 0; ic < size5; ic++) {
  ------------------
  |  Branch (249:18): [True: 14.1M, False: 336]
  ------------------
  250|  14.1M|        int which;
  251|  14.1M|        if (CONDU(which, b, ic, lastcall)) {
  ------------------
  |  |  122|  14.1M|#define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  118|  28.2M|#define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  28.2M|#define COND_CALL(which, b, x) ((which = 0), b[x] == 0xe8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (114:32): [True: 674k, False: 13.4M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|  13.4M|#define COND_JMP(which, b, x)  ((which = 1), b[x] == 0xe9)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (115:32): [True: 887k, False: 12.5M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  119|  12.5M|#define COND2(which, b, lastcall, x, y, z) COND_JCC(which, b, lastcall, x, y, z)
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|  12.5M|    ((which = 2), (lastcall != (x) && 0xf == b[y] && 0x80 <= b[z] && b[z] <= 0x8f))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (117:5): [True: 393k, False: 12.1M]
  |  |  |  |  |  |  |  Branch (117:20): [True: 11.6M, False: 874k]
  |  |  |  |  |  |  |  Branch (117:39): [True: 649k, False: 11.0M]
  |  |  |  |  |  |  |  Branch (117:54): [True: 495k, False: 153k]
  |  |  |  |  |  |  |  Branch (117:70): [True: 393k, False: 102k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  1.95M|            unsigned f_on = 0;
  253|  1.95M|            jc = get_be32(b + ic + 1) - cto;
  254|  1.95M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (254:17): [True: 1.29M, False: 655k]
  ------------------
  255|  1.29M|                if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   516k|#define MRUFLT 2 // mru filter
  ------------------
                              if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   420k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (255:22): [True: 516k, False: 782k]
  |  Branch (255:36): [True: 328k, False: 188k]
  |  Branch (255:58): [True: 420k, False: 550k]
  |  Branch (255:72): [True: 164k, False: 256k]
  ------------------
  256|   807k|                    (2 == which && MRUFLT == f_jcc2)) {
  ------------------
  |  |   43|   362k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (256:22): [True: 362k, False: 444k]
  |  Branch (256:36): [True: 99.1k, False: 263k]
  ------------------
  257|   591k|                    f_on = 1;
  258|   591k|                    if (1 & jc) { // 1st time at this destination
  ------------------
  |  Branch (258:25): [True: 313k, False: 278k]
  ------------------
  259|   313k|                        jc >>= 1;
  260|   313k|                        if (0 > --hand) {
  ------------------
  |  Branch (260:29): [True: 8.59k, False: 304k]
  ------------------
  261|  8.59k|                            hand = N_MRU - 1;
  ------------------
  |  |   51|  8.59k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  262|  8.59k|                        }
  263|   313k|                        mru[hand] = jc;
  264|   313k|                    } else { // not 1st time at this destination
  265|   278k|                        jc >>= 1;
  266|   278k|                        if (N_MRU <= jc) {
  ------------------
  |  |   51|   278k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (266:29): [True: 14, False: 278k]
  ------------------
  267|     14|                            throwCompressedDataViolation();
  268|     14|                        }
  269|   278k|                        int kh = jc + hand;
  270|   278k|                        if (N_MRU <= kh) {
  ------------------
  |  |   51|   278k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (270:29): [True: 69.4k, False: 209k]
  ------------------
  271|  69.4k|                            kh -= N_MRU;
  ------------------
  |  |   51|  69.4k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  272|  69.4k|                        }
  273|   278k|                        jc = mru[kh];
  274|   278k|                        update_mru(jc, kh, mru, hand, tail);
  275|   278k|                    }
  276|   591k|                    set_le32(b + ic + 1, jc - ic - 1);
  277|   707k|                } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   188k|#define NOFILT 0 // no filter
  ------------------
                              } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   256k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (277:29): [True: 188k, False: 519k]
  |  Branch (277:43): [True: 99.9k, False: 88.1k]
  |  Branch (277:65): [True: 256k, False: 351k]
  |  Branch (277:79): [True: 153k, False: 103k]
  ------------------
  278|   454k|                           (2 == which && NOFILT != f_jcc2)) {
  ------------------
  |  |   41|   263k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (278:29): [True: 263k, False: 191k]
  |  Branch (278:43): [True: 129k, False: 134k]
  ------------------
  279|   382k|                    f_on = 1;
  280|   382k|                    set_le32(b + ic + 1, jc - ic - 1);
  281|   382k|                }
  282|  1.29M|                if (2 == which && NOFILT != f_jcc2) {
  ------------------
  |  |   41|   362k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (282:21): [True: 362k, False: 937k]
  |  Branch (282:35): [True: 228k, False: 134k]
  ------------------
  283|       |                    // Unswap prefix and opcode for 6-byte Jcc <disp32>
  284|   228k|                    const unsigned char t = b[ic - 1];
  285|   228k|                    b[ic - 1] = b[ic];
  286|   228k|                    b[ic] = t;
  287|   228k|                }
  288|       |
  289|  1.29M|                if (f_on) {
  ------------------
  |  Branch (289:21): [True: 974k, False: 325k]
  ------------------
  290|   974k|                    f->calls++;
  291|   974k|                    ic += 4;
  292|   974k|                    f->lastcall = lastcall = ic + 1;
  293|   974k|                }
  294|  1.29M|            } else
  295|   655k|                f->noncalls++;
  296|  1.95M|        }
  297|  14.1M|    }
  298|    336|    return 0;
  299|    350|}

filter_impl.cpp:_ZL22u_ctok32_e8e9_bswap_leP6Filter:
  129|    311|static int U(Filter *f) {
  130|    311|    byte *b = f->buf;
  131|    311|    const unsigned size5 = f->buf_len - 5;
  132|    311|    const unsigned addvalue = f->addvalue;
  133|    311|    const unsigned cto = (unsigned) f->cto << 24;
  134|    311|    const unsigned id = f->id;
  135|    311|    unsigned lastcall = 0;
  136|       |
  137|    311|    unsigned ic, jc;
  138|       |
  139|  71.9M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (139:18): [True: 71.9M, False: 311]
  ------------------
  140|  71.9M|        if (COND(b, ic, lastcall, id)) {
  ------------------
  |  |  100|  71.9M|#define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   98|   143M|#define COND1(b, x)        (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:29): [True: 1.06M, False: 70.8M]
  |  |  |  |  |  Branch (98:45): [True: 302k, False: 70.5M]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   99|  70.5M|#define COND2(b, x, lc)    (lc != (x) && 0xf == b[(x) -1] && 0x80 <= b[x] && b[x] <= 0x8f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (99:29): [True: 69.6M, False: 929k]
  |  |  |  |  |  Branch (99:42): [True: 1.21M, False: 68.4M]
  |  |  |  |  |  Branch (99:62): [True: 683k, False: 532k]
  |  |  |  |  |  Branch (99:78): [True: 352k, False: 331k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (100:45): [True: 70.5M, False: 0]
  |  |  ------------------
  ------------------
  141|  1.71M|            jc = get_be32(b + ic + 1);
  142|  1.71M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (142:17): [True: 962k, False: 757k]
  ------------------
  143|   962k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  144|   962k|                f->calls++;
  145|   962k|                ic += 4;
  146|   962k|                f->lastcall = lastcall = ic + 1;
  147|   962k|            } else
  148|   757k|                f->noncalls++;
  149|  1.71M|        }
  150|    311|    return 0;
  151|    311|}

filter_impl.cpp:_ZL14u_ctsw16_e8_e9P6Filter:
   68|     86|static int u_ctsw16_e8_e9(Filter *f) {
   69|     86|    CTSW16(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   35|     86|    byte *b = f->buf;                                                                              \
  |  |   36|     86|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  5.27M|    do {                                                                                           \
  |  |   38|  5.27M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 392k, False: 4.87M]
  |  |  ------------------
  |  |   39|   392k|            b += 1;                                                                                \
  |  |   40|   392k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   392k|            f->lastcall = a;                                                                       \
  |  |   42|   392k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   392k|            f->calls++;                                                                            \
  |  |   44|   392k|            b += 2 - 1;                                                                            \
  |  |   45|  4.87M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (45:20): [True: 342k, False: 4.53M]
  |  |  ------------------
  |  |   46|   342k|            b += 1;                                                                                \
  |  |   47|   342k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   48|   342k|            f->lastcall = a;                                                                       \
  |  |   49|   342k|            set(b, get(b));                                                                        \
  |  |   50|   342k|            f->calls++;                                                                            \
  |  |   51|   342k|            b += 2 - 1;                                                                            \
  |  |   52|   342k|        }                                                                                          \
  |  |   53|  5.27M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (53:14): [True: 5.27M, False: 86]
  |  |  ------------------
  |  |   54|     86|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (54:9): [True: 35, False: 51]
  |  |  ------------------
  |  |   55|     86|        f->lastcall += 2;                                                                          \
  |  |   56|     86|    return 0;
  ------------------
   70|     86|}
filter_impl.cpp:_ZL14u_ctsw16_e9_e8P6Filter:
   72|    247|static int u_ctsw16_e9_e8(Filter *f) {
   73|    247|    CTSW16(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   35|    247|    byte *b = f->buf;                                                                              \
  |  |   36|    247|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  9.22M|    do {                                                                                           \
  |  |   38|  9.22M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 716k, False: 8.50M]
  |  |  ------------------
  |  |   39|   716k|            b += 1;                                                                                \
  |  |   40|   716k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   716k|            f->lastcall = a;                                                                       \
  |  |   42|   716k|            set(b, get(b) + (addvalue));                                                           \
  |  |   43|   716k|            f->calls++;                                                                            \
  |  |   44|   716k|            b += 2 - 1;                                                                            \
  |  |   45|  8.50M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (45:20): [True: 300k, False: 8.20M]
  |  |  ------------------
  |  |   46|   300k|            b += 1;                                                                                \
  |  |   47|   300k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   48|   300k|            f->lastcall = a;                                                                       \
  |  |   49|   300k|            set(b, get(b));                                                                        \
  |  |   50|   300k|            f->calls++;                                                                            \
  |  |   51|   300k|            b += 2 - 1;                                                                            \
  |  |   52|   300k|        }                                                                                          \
  |  |   53|  9.22M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (53:14): [True: 9.22M, False: 247]
  |  |  ------------------
  |  |   54|    247|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (54:9): [True: 46, False: 201]
  |  |  ------------------
  |  |   55|    247|        f->lastcall += 2;                                                                          \
  |  |   56|    247|    return 0;
  ------------------
   74|    247|}
filter_impl.cpp:_ZL14u_ctsw32_e8_e9P6Filter:
  125|    475|static int u_ctsw32_e8_e9(Filter *f) {
  126|    475|    CTSW32(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   92|    475|    byte *b = f->buf;                                                                              \
  |  |   93|    475|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   94|  2.69M|    do {                                                                                           \
  |  |   95|  2.69M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (95:13): [True: 74.0k, False: 2.61M]
  |  |  ------------------
  |  |   96|  74.0k|            b += 1;                                                                                \
  |  |   97|  74.0k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   98|  74.0k|            f->lastcall = a;                                                                       \
  |  |   99|  74.0k|            set(b, get(b) + (addvalue));                                                           \
  |  |  100|  74.0k|            f->calls++;                                                                            \
  |  |  101|  74.0k|            b += 4 - 1;                                                                            \
  |  |  102|  2.61M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (102:20): [True: 158k, False: 2.46M]
  |  |  ------------------
  |  |  103|   158k|            b += 1;                                                                                \
  |  |  104|   158k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  105|   158k|            f->lastcall = a;                                                                       \
  |  |  106|   158k|            set(b, get(b));                                                                        \
  |  |  107|   158k|            f->calls++;                                                                            \
  |  |  108|   158k|            b += 4 - 1;                                                                            \
  |  |  109|   158k|        }                                                                                          \
  |  |  110|  2.69M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (110:14): [True: 2.69M, False: 475]
  |  |  ------------------
  |  |  111|    475|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (111:9): [True: 275, False: 200]
  |  |  ------------------
  |  |  112|    475|        f->lastcall += 4;                                                                          \
  |  |  113|    475|    return 0;
  ------------------
  127|    475|}
filter_impl.cpp:_ZL14u_ctsw32_e9_e8P6Filter:
  129|    469|static int u_ctsw32_e9_e8(Filter *f) {
  130|    469|    CTSW32(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   92|    469|    byte *b = f->buf;                                                                              \
  |  |   93|    469|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   94|  2.06M|    do {                                                                                           \
  |  |   95|  2.06M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (95:13): [True: 50.0k, False: 2.01M]
  |  |  ------------------
  |  |   96|  50.0k|            b += 1;                                                                                \
  |  |   97|  50.0k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   98|  50.0k|            f->lastcall = a;                                                                       \
  |  |   99|  50.0k|            set(b, get(b) + (addvalue));                                                           \
  |  |  100|  50.0k|            f->calls++;                                                                            \
  |  |  101|  50.0k|            b += 4 - 1;                                                                            \
  |  |  102|  2.01M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (102:20): [True: 99.6k, False: 1.91M]
  |  |  ------------------
  |  |  103|  99.6k|            b += 1;                                                                                \
  |  |  104|  99.6k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  105|  99.6k|            f->lastcall = a;                                                                       \
  |  |  106|  99.6k|            set(b, get(b));                                                                        \
  |  |  107|  99.6k|            f->calls++;                                                                            \
  |  |  108|  99.6k|            b += 4 - 1;                                                                            \
  |  |  109|  99.6k|        }                                                                                          \
  |  |  110|  2.06M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (110:14): [True: 2.05M, False: 469]
  |  |  ------------------
  |  |  111|    469|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (111:9): [True: 262, False: 207]
  |  |  ------------------
  |  |  112|    469|        f->lastcall += 4;                                                                          \
  |  |  113|    469|    return 0;
  ------------------
  131|    469|}

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

filter_impl.cpp:_ZL9u_sub16_1P6Filter:
   54|    858|static int u_sub16_1(Filter *f) { ADD16(f, 1) }
  ------------------
  |  |   37|    858|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    858|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    858|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    858|    int i;                                                                                         \
  |  |  |  |   60|    858|    T d[N];                                                                                        \
  |  |  |  |   61|    858|                                                                                                   \
  |  |  |  |   62|    858|    i = N - 1;                                                                                     \
  |  |  |  |   63|    858|    do                                                                                             \
  |  |  |  |   64|    858|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    858|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 858]
  |  |  |  |  ------------------
  |  |  |  |   66|    858|                                                                                                   \
  |  |  |  |   67|    858|    i = N - 1;                                                                                     \
  |  |  |  |   68|  90.4k|    do {                                                                                           \
  |  |  |  |   69|  90.4k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  90.4k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  90.4k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  90.4k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 90.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|  90.4k|            i = N - 1;                                                                             \
  |  |  |  |   74|  90.4k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 89.5k, False: 858]
  |  |  |  |  ------------------
  |  |  |  |   75|    858|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    858|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    858|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.71k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 858, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    858|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_2P6Filter:
   56|    306|static int u_sub16_2(Filter *f) { ADD16(f, 2) }
  ------------------
  |  |   37|    306|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    306|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    306|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    306|    int i;                                                                                         \
  |  |  |  |   60|    306|    T d[N];                                                                                        \
  |  |  |  |   61|    306|                                                                                                   \
  |  |  |  |   62|    306|    i = N - 1;                                                                                     \
  |  |  |  |   63|    306|    do                                                                                             \
  |  |  |  |   64|    612|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    612|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 306, False: 306]
  |  |  |  |  ------------------
  |  |  |  |   66|    306|                                                                                                   \
  |  |  |  |   67|    306|    i = N - 1;                                                                                     \
  |  |  |  |   68|  32.5k|    do {                                                                                           \
  |  |  |  |   69|  32.5k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  32.5k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  32.5k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  32.5k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 16.2k, False: 16.3k]
  |  |  |  |  ------------------
  |  |  |  |   73|  32.5k|            i = N - 1;                                                                             \
  |  |  |  |   74|  32.5k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 32.2k, False: 306]
  |  |  |  |  ------------------
  |  |  |  |   75|    306|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    306|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    306|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    612|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 306, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    306|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_3P6Filter:
   58|  1.73k|static int u_sub16_3(Filter *f) { ADD16(f, 3) }
  ------------------
  |  |   37|  1.73k|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|  1.73k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.73k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.73k|    int i;                                                                                         \
  |  |  |  |   60|  1.73k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.73k|                                                                                                   \
  |  |  |  |   62|  1.73k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.73k|    do                                                                                             \
  |  |  |  |   64|  5.20k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  5.20k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 3.47k, False: 1.73k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.73k|                                                                                                   \
  |  |  |  |   67|  1.73k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   182k|    do {                                                                                           \
  |  |  |  |   69|   182k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   182k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   182k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   182k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 60.7k, False: 121k]
  |  |  |  |  ------------------
  |  |  |  |   73|   182k|            i = N - 1;                                                                             \
  |  |  |  |   74|   182k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 180k, False: 1.73k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.73k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.73k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|  1.73k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  3.47k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.73k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.73k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_4P6Filter:
   60|    958|static int u_sub16_4(Filter *f) { ADD16(f, 4) }
  ------------------
  |  |   37|    958|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    958|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    958|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    958|    int i;                                                                                         \
  |  |  |  |   60|    958|    T d[N];                                                                                        \
  |  |  |  |   61|    958|                                                                                                   \
  |  |  |  |   62|    958|    i = N - 1;                                                                                     \
  |  |  |  |   63|    958|    do                                                                                             \
  |  |  |  |   64|  3.83k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.83k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.87k, False: 958]
  |  |  |  |  ------------------
  |  |  |  |   66|    958|                                                                                                   \
  |  |  |  |   67|    958|    i = N - 1;                                                                                     \
  |  |  |  |   68|   101k|    do {                                                                                           \
  |  |  |  |   69|   101k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   101k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   101k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   101k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 25.1k, False: 76.8k]
  |  |  |  |  ------------------
  |  |  |  |   73|   101k|            i = N - 1;                                                                             \
  |  |  |  |   74|   101k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 101k, False: 958]
  |  |  |  |  ------------------
  |  |  |  |   75|    958|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    958|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    958|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.91k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 958, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    958|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sub32_1P6Filter:
   54|    380|static int u_sub32_1(Filter *f) { ADD32(f, 1) }
  ------------------
  |  |   37|    380|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    380|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    380|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    380|    int i;                                                                                         \
  |  |  |  |   60|    380|    T d[N];                                                                                        \
  |  |  |  |   61|    380|                                                                                                   \
  |  |  |  |   62|    380|    i = N - 1;                                                                                     \
  |  |  |  |   63|    380|    do                                                                                             \
  |  |  |  |   64|    380|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    380|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 380]
  |  |  |  |  ------------------
  |  |  |  |   66|    380|                                                                                                   \
  |  |  |  |   67|    380|    i = N - 1;                                                                                     \
  |  |  |  |   68|   106k|    do {                                                                                           \
  |  |  |  |   69|   106k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   106k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   106k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   106k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 106k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   106k|            i = N - 1;                                                                             \
  |  |  |  |   74|   106k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 105k, False: 380]
  |  |  |  |  ------------------
  |  |  |  |   75|    380|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    380|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    380|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    760|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 380, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    380|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_2P6Filter:
   56|  1.72k|static int u_sub32_2(Filter *f) { ADD32(f, 2) }
  ------------------
  |  |   37|  1.72k|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|  1.72k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.72k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.72k|    int i;                                                                                         \
  |  |  |  |   60|  1.72k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.72k|                                                                                                   \
  |  |  |  |   62|  1.72k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.72k|    do                                                                                             \
  |  |  |  |   64|  3.44k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.44k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 1.72k, False: 1.72k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.72k|                                                                                                   \
  |  |  |  |   67|  1.72k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   129k|    do {                                                                                           \
  |  |  |  |   69|   129k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   129k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   129k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   129k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 64.3k, False: 64.8k]
  |  |  |  |  ------------------
  |  |  |  |   73|   129k|            i = N - 1;                                                                             \
  |  |  |  |   74|   129k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 127k, False: 1.72k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.72k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.72k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|  1.72k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  3.44k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.72k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.72k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_3P6Filter:
   58|  1.08k|static int u_sub32_3(Filter *f) { ADD32(f, 3) }
  ------------------
  |  |   37|  1.08k|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|  1.08k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.08k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.08k|    int i;                                                                                         \
  |  |  |  |   60|  1.08k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.08k|                                                                                                   \
  |  |  |  |   62|  1.08k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.08k|    do                                                                                             \
  |  |  |  |   64|  3.25k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.25k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.16k, False: 1.08k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.08k|                                                                                                   \
  |  |  |  |   67|  1.08k|    i = N - 1;                                                                                     \
  |  |  |  |   68|  62.4k|    do {                                                                                           \
  |  |  |  |   69|  62.4k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  62.4k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  62.4k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  62.4k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 20.1k, False: 42.3k]
  |  |  |  |  ------------------
  |  |  |  |   73|  62.4k|            i = N - 1;                                                                             \
  |  |  |  |   74|  62.4k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 61.3k, False: 1.08k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.08k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.08k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|  1.08k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  2.16k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.08k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.08k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_4P6Filter:
   60|    967|static int u_sub32_4(Filter *f) { ADD32(f, 4) }
  ------------------
  |  |   37|    967|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    967|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    967|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    967|    int i;                                                                                         \
  |  |  |  |   60|    967|    T d[N];                                                                                        \
  |  |  |  |   61|    967|                                                                                                   \
  |  |  |  |   62|    967|    i = N - 1;                                                                                     \
  |  |  |  |   63|    967|    do                                                                                             \
  |  |  |  |   64|  3.86k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.86k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.90k, False: 967]
  |  |  |  |  ------------------
  |  |  |  |   66|    967|                                                                                                   \
  |  |  |  |   67|    967|    i = N - 1;                                                                                     \
  |  |  |  |   68|   211k|    do {                                                                                           \
  |  |  |  |   69|   211k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   211k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   211k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   211k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 52.6k, False: 158k]
  |  |  |  |  ------------------
  |  |  |  |   73|   211k|            i = N - 1;                                                                             \
  |  |  |  |   74|   211k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 210k, False: 967]
  |  |  |  |  ------------------
  |  |  |  |   75|    967|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    967|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    967|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.93k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 967, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    967|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL8u_sub8_1P6Filter:
   54|    337|static int u_sub8_1(Filter *f) { ADD8(f, 1) }
  ------------------
  |  |   37|    337|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    337|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    337|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    337|    int i;                                                                                         \
  |  |  |  |   60|    337|    T d[N];                                                                                        \
  |  |  |  |   61|    337|                                                                                                   \
  |  |  |  |   62|    337|    i = N - 1;                                                                                     \
  |  |  |  |   63|    337|    do                                                                                             \
  |  |  |  |   64|    337|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    337|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 337]
  |  |  |  |  ------------------
  |  |  |  |   66|    337|                                                                                                   \
  |  |  |  |   67|    337|    i = N - 1;                                                                                     \
  |  |  |  |   68|  88.6k|    do {                                                                                           \
  |  |  |  |   69|  88.6k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  88.6k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  88.6k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|  88.6k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  88.6k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   34|  88.6k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|  88.6k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  88.6k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 88.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|  88.6k|            i = N - 1;                                                                             \
  |  |  |  |   74|  88.6k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 88.3k, False: 337]
  |  |  |  |  ------------------
  |  |  |  |   75|    337|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    337|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    337|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    674|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 337, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    337|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_2P6Filter:
   56|    329|static int u_sub8_2(Filter *f) { ADD8(f, 2) }
  ------------------
  |  |   37|    329|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    329|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    329|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    329|    int i;                                                                                         \
  |  |  |  |   60|    329|    T d[N];                                                                                        \
  |  |  |  |   61|    329|                                                                                                   \
  |  |  |  |   62|    329|    i = N - 1;                                                                                     \
  |  |  |  |   63|    329|    do                                                                                             \
  |  |  |  |   64|    658|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    658|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 329, False: 329]
  |  |  |  |  ------------------
  |  |  |  |   66|    329|                                                                                                   \
  |  |  |  |   67|    329|    i = N - 1;                                                                                     \
  |  |  |  |   68|  98.1k|    do {                                                                                           \
  |  |  |  |   69|  98.1k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  98.1k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  98.1k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|  98.1k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  98.1k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   34|  98.1k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|  98.1k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  98.1k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 49.0k, False: 49.1k]
  |  |  |  |  ------------------
  |  |  |  |   73|  98.1k|            i = N - 1;                                                                             \
  |  |  |  |   74|  98.1k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 97.8k, False: 329]
  |  |  |  |  ------------------
  |  |  |  |   75|    329|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    329|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    329|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    658|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 329, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    329|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_3P6Filter:
   58|    371|static int u_sub8_3(Filter *f) { ADD8(f, 3) }
  ------------------
  |  |   37|    371|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    371|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    371|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    371|    int i;                                                                                         \
  |  |  |  |   60|    371|    T d[N];                                                                                        \
  |  |  |  |   61|    371|                                                                                                   \
  |  |  |  |   62|    371|    i = N - 1;                                                                                     \
  |  |  |  |   63|    371|    do                                                                                             \
  |  |  |  |   64|  1.11k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.11k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 742, False: 371]
  |  |  |  |  ------------------
  |  |  |  |   66|    371|                                                                                                   \
  |  |  |  |   67|    371|    i = N - 1;                                                                                     \
  |  |  |  |   68|   106k|    do {                                                                                           \
  |  |  |  |   69|   106k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|   106k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   106k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   106k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|   106k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   34|   106k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   106k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   106k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 35.2k, False: 71.0k]
  |  |  |  |  ------------------
  |  |  |  |   73|   106k|            i = N - 1;                                                                             \
  |  |  |  |   74|   106k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 105k, False: 371]
  |  |  |  |  ------------------
  |  |  |  |   75|    371|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    371|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    371|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    742|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 371, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    371|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_4P6Filter:
   60|    300|static int u_sub8_4(Filter *f) { ADD8(f, 4) }
  ------------------
  |  |   37|    300|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    300|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    300|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    300|    int i;                                                                                         \
  |  |  |  |   60|    300|    T d[N];                                                                                        \
  |  |  |  |   61|    300|                                                                                                   \
  |  |  |  |   62|    300|    i = N - 1;                                                                                     \
  |  |  |  |   63|    300|    do                                                                                             \
  |  |  |  |   64|  1.20k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.20k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 900, False: 300]
  |  |  |  |  ------------------
  |  |  |  |   66|    300|                                                                                                   \
  |  |  |  |   67|    300|    i = N - 1;                                                                                     \
  |  |  |  |   68|  76.5k|    do {                                                                                           \
  |  |  |  |   69|  76.5k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  76.5k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  76.5k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|  76.5k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|  76.5k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   34|  76.5k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|  76.5k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  76.5k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 19.0k, False: 57.5k]
  |  |  |  |  ------------------
  |  |  |  |   73|  76.5k|            i = N - 1;                                                                             \
  |  |  |  |   74|  76.5k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 76.2k, False: 300]
  |  |  |  |  ------------------
  |  |  |  |   75|    300|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    300|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  512|    300|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    600|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 300, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    300|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sw16_e8P6Filter:
   59|    171|static int u_sw16_e8(Filter *f) { SW16(f, (*b == 0xe8), get_be16, set_le16) }
  ------------------
  |  |   35|    171|    byte *b = f->buf;                                                                              \
  |  |   36|    171|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  2.29M|    do {                                                                                           \
  |  |   38|  2.29M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 316k, False: 1.97M]
  |  |  ------------------
  |  |   39|   316k|            b += 1;                                                                                \
  |  |   40|   316k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   316k|            f->lastcall = a;                                                                       \
  |  |   42|   316k|            set(b, get(b));                                                                        \
  |  |   43|   316k|            f->calls++;                                                                            \
  |  |   44|   316k|            b += 2 - 1;                                                                            \
  |  |   45|   316k|        }                                                                                          \
  |  |   46|  2.29M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 2.29M, False: 171]
  |  |  ------------------
  |  |   47|    171|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 33, False: 138]
  |  |  ------------------
  |  |   48|    171|        f->lastcall += 2;                                                                          \
  |  |   49|    171|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw16_e9P6Filter:
   61|  1.17k|static int u_sw16_e9(Filter *f) { SW16(f, (*b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   35|  1.17k|    byte *b = f->buf;                                                                              \
  |  |   36|  1.17k|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  3.30M|    do {                                                                                           \
  |  |   38|  3.30M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 390k, False: 2.91M]
  |  |  ------------------
  |  |   39|   390k|            b += 1;                                                                                \
  |  |   40|   390k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|   390k|            f->lastcall = a;                                                                       \
  |  |   42|   390k|            set(b, get(b));                                                                        \
  |  |   43|   390k|            f->calls++;                                                                            \
  |  |   44|   390k|            b += 2 - 1;                                                                            \
  |  |   45|   390k|        }                                                                                          \
  |  |   46|  3.30M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 3.30M, False: 1.17k]
  |  |  ------------------
  |  |   47|  1.17k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 399, False: 773]
  |  |  ------------------
  |  |   48|  1.17k|        f->lastcall += 2;                                                                          \
  |  |   49|  1.17k|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw16_e8e9P6Filter:
   63|    143|static int u_sw16_e8e9(Filter *f) { SW16(f, (*b == 0xe8 || *b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   35|    143|    byte *b = f->buf;                                                                              \
  |  |   36|    143|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   37|  6.74M|    do {                                                                                           \
  |  |   38|  20.0M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (38:13): [True: 137k, False: 6.60M]
  |  |  |  Branch (38:13): [True: 1.14M, False: 5.45M]
  |  |  ------------------
  |  |   39|  1.28M|            b += 1;                                                                                \
  |  |   40|  1.28M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   41|  1.28M|            f->lastcall = a;                                                                       \
  |  |   42|  1.28M|            set(b, get(b));                                                                        \
  |  |   43|  1.28M|            f->calls++;                                                                            \
  |  |   44|  1.28M|            b += 2 - 1;                                                                            \
  |  |   45|  1.28M|        }                                                                                          \
  |  |   46|  6.74M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (46:14): [True: 6.74M, False: 143]
  |  |  ------------------
  |  |   47|    143|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (47:9): [True: 92, False: 51]
  |  |  ------------------
  |  |   48|    143|        f->lastcall += 2;                                                                          \
  |  |   49|    143|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e8P6Filter:
  103|    265|static int u_sw32_e8(Filter *f) { SW32(f, (*b == 0xe8), get_be32, set_le32) }
  ------------------
  |  |   79|    265|    byte *b = f->buf;                                                                              \
  |  |   80|    265|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   81|  2.87M|    do {                                                                                           \
  |  |   82|  2.87M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (82:13): [True: 181k, False: 2.69M]
  |  |  ------------------
  |  |   83|   181k|            b += 1;                                                                                \
  |  |   84|   181k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   85|   181k|            f->lastcall = a;                                                                       \
  |  |   86|   181k|            set(b, get(b));                                                                        \
  |  |   87|   181k|            f->calls++;                                                                            \
  |  |   88|   181k|            b += 4 - 1;                                                                            \
  |  |   89|   181k|        }                                                                                          \
  |  |   90|  2.87M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (90:14): [True: 2.87M, False: 265]
  |  |  ------------------
  |  |   91|    265|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 192, False: 73]
  |  |  ------------------
  |  |   92|    265|        f->lastcall += 4;                                                                          \
  |  |   93|    265|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e9P6Filter:
  105|    514|static int u_sw32_e9(Filter *f) { SW32(f, (*b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   79|    514|    byte *b = f->buf;                                                                              \
  |  |   80|    514|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   81|  1.56M|    do {                                                                                           \
  |  |   82|  1.56M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (82:13): [True: 114k, False: 1.45M]
  |  |  ------------------
  |  |   83|   114k|            b += 1;                                                                                \
  |  |   84|   114k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   85|   114k|            f->lastcall = a;                                                                       \
  |  |   86|   114k|            set(b, get(b));                                                                        \
  |  |   87|   114k|            f->calls++;                                                                            \
  |  |   88|   114k|            b += 4 - 1;                                                                            \
  |  |   89|   114k|        }                                                                                          \
  |  |   90|  1.56M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (90:14): [True: 1.56M, False: 514]
  |  |  ------------------
  |  |   91|    514|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 221, False: 293]
  |  |  ------------------
  |  |   92|    514|        f->lastcall += 4;                                                                          \
  |  |   93|    514|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw32_e8e9P6Filter:
  107|    451|static int u_sw32_e8e9(Filter *f) { SW32(f, (*b == 0xe8 || *b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   79|    451|    byte *b = f->buf;                                                                              \
  |  |   80|    451|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   81|  2.18M|    do {                                                                                           \
  |  |   82|  6.44M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (82:13): [True: 98.1k, False: 2.08M]
  |  |  |  Branch (82:13): [True: 100k, False: 1.98M]
  |  |  ------------------
  |  |   83|   198k|            b += 1;                                                                                \
  |  |   84|   198k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   85|   198k|            f->lastcall = a;                                                                       \
  |  |   86|   198k|            set(b, get(b));                                                                        \
  |  |   87|   198k|            f->calls++;                                                                            \
  |  |   88|   198k|            b += 4 - 1;                                                                            \
  |  |   89|   198k|        }                                                                                          \
  |  |   90|  2.18M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (90:14): [True: 2.18M, False: 451]
  |  |  ------------------
  |  |   91|    451|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (91:9): [True: 246, False: 205]
  |  |  ------------------
  |  |   92|    451|        f->lastcall += 4;                                                                          \
  |  |   93|    451|    return 0;
  ------------------

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

_ZN6LeFileC2EP9InputFile:
   32|  14.5k|LeFile::LeFile(InputFile *f) noexcept : fif(f) {
   33|  14.5k|    COMPILE_TIME_ASSERT(sizeof(le_header_t) == 196)
  ------------------
  |  |  266|  14.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   34|  14.5k|    COMPILE_TIME_ASSERT(sizeof(le_object_table_entry_t) == 24)
  ------------------
  |  |  266|  14.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   35|  14.5k|    COMPILE_TIME_ASSERT(sizeof(le_pagemap_entry_t) == 4)
  ------------------
  |  |  266|  14.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   36|  14.5k|    mem_clear(&ih);
   37|  14.5k|    mem_clear(&oh);
   38|  14.5k|}
_ZN6LeFileD2Ev:
   40|  14.5k|LeFile::~LeFile() noexcept {
   41|  14.5k|    delete[] iobject_table;
   42|  14.5k|    delete[] oobject_table;
   43|  14.5k|    delete[] ifpage_table;
   44|  14.5k|    delete[] ofpage_table;
   45|  14.5k|    delete[] ipm_entries;
   46|  14.5k|    delete[] opm_entries;
   47|  14.5k|    delete[] ires_names;
   48|  14.5k|    delete[] ores_names;
   49|  14.5k|    delete[] ifixups;
   50|  14.5k|    delete[] ofixups;
   51|  14.5k|    delete[] inonres_names;
   52|  14.5k|    delete[] ononres_names;
   53|  14.5k|    delete[] ientries;
   54|  14.5k|    delete[] oentries;
   55|  14.5k|}
_ZN6LeFile15readObjectTableEv:
   61|    219|void LeFile::readObjectTable() {
   62|    219|    soobject_table = objects;
  ------------------
  |  |   57|    219|#define objects ih.object_table_entries
  ------------------
   63|    219|    iobject_table = New(le_object_table_entry_t, soobject_table);
  ------------------
  |  |  101|    219|#define New(type, n) (NewT<type>((n)))
  ------------------
   64|    219|    fif->seek(le_offset + ih.object_table_offset, SEEK_SET);
   65|    219|    fif->readx(iobject_table, sizeof(*iobject_table) * objects);
  ------------------
  |  |   57|    219|#define objects ih.object_table_entries
  ------------------
   66|    219|}
_ZN6LeFile11readPageMapEv:
   73|    172|void LeFile::readPageMap() {
   74|    172|    sopm_entries = pages;
  ------------------
  |  |   58|    172|#define pages   ih.memory_pages
  ------------------
   75|    172|    ipm_entries = New(le_pagemap_entry_t, sopm_entries);
  ------------------
  |  |  101|    172|#define New(type, n) (NewT<type>((n)))
  ------------------
   76|    172|    fif->seek(le_offset + ih.object_pagemap_offset, SEEK_SET);
   77|    172|    fif->readx(ipm_entries, sizeof(*ipm_entries) * pages);
  ------------------
  |  |   58|    172|#define pages   ih.memory_pages
  ------------------
   78|       |
   79|  1.19k|    for (unsigned ic = 0; ic < pages; ic++)
  ------------------
  |  |   58|  1.19k|#define pages   ih.memory_pages
  ------------------
  |  Branch (79:27): [True: 1.02k, False: 162]
  ------------------
   80|  1.02k|        if ((ipm_entries[ic].type & 0xC0) != 0 && (ipm_entries[ic].type & 0xC0) != 0xC0)
  ------------------
  |  Branch (80:13): [True: 443, False: 585]
  |  Branch (80:51): [True: 10, False: 433]
  ------------------
   81|     10|            throwCantPack("unexpected value in page map table");
   82|    172|}
_ZN6LeFile17readResidentNamesEv:
   89|    154|void LeFile::readResidentNames() {
   90|    154|    sores_names = ih.entry_table_offset - ih.resident_names_offset;
   91|    154|    ires_names = New(byte, sores_names);
  ------------------
  |  |  101|    154|#define New(type, n) (NewT<type>((n)))
  ------------------
   92|       |    fif->seek(le_offset + ih.resident_names_offset, SEEK_SET);
   93|    154|    fif->readx(ires_names, sores_names);
   94|    154|}
_ZN6LeFile14readEntryTableEv:
  101|    138|void LeFile::readEntryTable() {
  102|    138|    soentries = ih.fixup_page_table_offset - ih.entry_table_offset;
  103|    138|    fif->seek(le_offset + ih.entry_table_offset, SEEK_SET);
  104|    138|    ientries = New(byte, soentries);
  ------------------
  |  |  101|    138|#define New(type, n) (NewT<type>((n)))
  ------------------
  105|    138|    fif->readx(ientries, soentries);
  106|    138|}
_ZN6LeFile18readFixupPageTableEv:
  113|    112|void LeFile::readFixupPageTable() {
  114|    112|    sofpage_table = 1 + pages;
  ------------------
  |  |   58|    112|#define pages   ih.memory_pages
  ------------------
  115|    112|    ifpage_table = New(unsigned, sofpage_table);
  ------------------
  |  |  101|    112|#define New(type, n) (NewT<type>((n)))
  ------------------
  116|       |    fif->seek(le_offset + ih.fixup_page_table_offset, SEEK_SET);
  117|    112|    fif->readx(ifpage_table, 4 * sofpage_table);
  118|    112|}
_ZN6LeFile10readFixupsEv:
  125|    112|void LeFile::readFixups() {
  126|       |    // The fixup page table stores one offset into the fixup record table per
  127|       |    // page, plus a terminating offset. The buffer sized below starts at the
  128|       |    // first offset, and the record walks (here via sofixups, in
  129|       |    // LeFile::countFixups, and in PackWcle::preprocessFixups) index it with
  130|       |    // those offsets. A nonzero first offset, or a non-monotonic table, lets a
  131|       |    // walk run past this buffer, so reject such a table before allocating.
  132|    112|    if (get_le32(ifpage_table) != 0)
  ------------------
  |  Branch (132:9): [True: 12, False: 100]
  ------------------
  133|     12|        throwCantPack("bad fixup page table");
  134|    418|    for (unsigned ic = 1; ic <= pages; ic++)
  ------------------
  |  |   58|    418|#define pages   ih.memory_pages
  ------------------
  |  Branch (134:27): [True: 328, False: 90]
  ------------------
  135|    328|        if (get_le32(ifpage_table + ic) < get_le32(ifpage_table + ic - 1))
  ------------------
  |  Branch (135:13): [True: 10, False: 318]
  ------------------
  136|     10|            throwCantPack("bad fixup page table");
  137|     90|    sofixups = get_le32(ifpage_table + pages) - get_le32(ifpage_table);
  ------------------
  |  |   58|     90|#define pages   ih.memory_pages
  ------------------
  138|     90|    ifixups = New(byte, sofixups);
  ------------------
  |  |  101|     90|#define New(type, n) (NewT<type>((n)))
  ------------------
  139|       |    fif->seek(le_offset + ih.fixup_record_table_offset, SEEK_SET);
  140|     90|    fif->readx(ifixups, sofixups);
  141|     90|}
_ZNK6LeFile12getImageSizeEv:
  148|    261|unsigned LeFile::getImageSize() const {
  149|    261|    unsigned n = 0;
  150|    261|    if (ih.memory_pages > 0) {
  ------------------
  |  Branch (150:9): [True: 261, False: 0]
  ------------------
  151|    261|        n = (ih.memory_pages - 1) * ih.memory_page_size;
  152|    261|        n += ih.bytes_on_last_page;
  153|    261|    }
  154|    261|    return n;
  155|    261|}
_ZN6LeFile9readImageEv:
  157|     53|void LeFile::readImage() {
  158|     53|    soimage = mem_size(mps, pages); // assert size
  ------------------
  |  |   59|     53|#define mps     ih.memory_page_size
  ------------------
                  soimage = mem_size(mps, pages); // assert size
  ------------------
  |  |   58|     53|#define pages   ih.memory_pages
  ------------------
  159|     53|    if (!soimage)                   // late detection, but protect against .alloc(0)
  ------------------
  |  Branch (159:9): [True: 0, False: 53]
  ------------------
  160|      0|        throwCantPack("no soimage");
  161|     53|    mb_iimage.alloc(soimage);
  162|     53|    mb_iimage.clear();
  163|     53|    iimage = SPAN_S_MAKE(byte, mb_iimage); // => now a SPAN_S
  ------------------
  |  |  210|     53|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|     53|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     53|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     53|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|     53|    unsigned ic, jc;
  166|    165|    for (ic = jc = 0; ic < pages; ic++) {
  ------------------
  |  |   58|    165|#define pages   ih.memory_pages
  ------------------
  |  Branch (166:23): [True: 112, False: 53]
  ------------------
  167|    112|        if ((ipm_entries[ic].type & 0xC0) == 0) {
  ------------------
  |  Branch (167:13): [True: 23, False: 89]
  ------------------
  168|     23|            fif->seek(ih.data_pages_offset + exe_offset +
  169|     23|                          (ipm_entries[ic].m * 0x100 + ipm_entries[ic].l - 1) * mps,
  ------------------
  |  |   59|     23|#define mps     ih.memory_page_size
  ------------------
  170|     23|                      SEEK_SET);
  171|     23|            unsigned bytes = ic != pages - 1 ? mps : ih.bytes_on_last_page;
  ------------------
  |  |   58|     23|#define pages   ih.memory_pages
  ------------------
                          unsigned bytes = ic != pages - 1 ? mps : ih.bytes_on_last_page;
  ------------------
  |  |   59|      9|#define mps     ih.memory_page_size
  ------------------
  |  Branch (171:30): [True: 9, False: 14]
  ------------------
  172|     23|            fif->readx(iimage + jc, bytes);
  173|     23|        }
  174|    112|        jc += mps;
  ------------------
  |  |   59|    112|#define mps     ih.memory_page_size
  ------------------
  175|    112|    }
  176|     53|}
_ZN6LeFile20readNonResidentNamesEv:
  183|     45|void LeFile::readNonResidentNames() {
  184|     45|    if (ih.non_resident_name_table_length) {
  ------------------
  |  Branch (184:9): [True: 41, False: 4]
  ------------------
  185|     41|        sononres_names = ih.non_resident_name_table_length;
  186|     41|        inonres_names = New(byte, sononres_names);
  ------------------
  |  |  101|     41|#define New(type, n) (NewT<type>((n)))
  ------------------
  187|       |        fif->seek(exe_offset + ih.non_resident_name_table_offset, SEEK_SET);
  188|     41|        fif->readx(inonres_names, sononres_names);
  189|     41|    }
  190|     45|}
_ZN6LeFile14readFileHeaderEv:
  197|  14.5k|bool LeFile::readFileHeader() {
  198|  14.5k|#define H(x) get_le16(header + (2 * (x)))
  199|  14.5k|    byte header[0x40];
  200|  14.5k|    le_offset = exe_offset = 0;
  201|  14.5k|    int ic;
  202|       |
  203|  16.3k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (203:18): [True: 16.3k, False: 66]
  ------------------
  204|  16.3k|        fif->seek(le_offset, SEEK_SET);
  205|  16.3k|        fif->readx(header, sizeof(header));
  206|       |
  207|  16.3k|        if (memcmp(header, "MZ", 2) == 0) // normal dos exe
  ------------------
  |  Branch (207:13): [True: 1.77k, False: 14.5k]
  ------------------
  208|  1.77k|        {
  209|  1.77k|            exe_offset = le_offset;
  210|  1.77k|            if (H(0x18 / 2) >= 0x40 && memcmp(header + 0x19, "TIPPACH", 7)) // new format exe
  ------------------
  |  |  198|  1.77k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  |  Branch (210:17): [True: 1.58k, False: 195]
  |  Branch (210:40): [True: 1.52k, False: 59]
  ------------------
  211|  1.52k|                le_offset += H(0x3c / 2) + H(0x3e / 2) * 65536;
  ------------------
  |  |  198|  1.52k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                              le_offset += H(0x3c / 2) + H(0x3e / 2) * 65536;
  ------------------
  |  |  198|  1.52k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  212|    254|            else {
  213|    254|                le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  198|    254|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                              le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  198|    254|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  214|    254|                if (H(1))
  ------------------
  |  |  198|    254|#define H(x) get_le16(header + (2 * (x)))
  |  |  ------------------
  |  |  |  Branch (198:14): [True: 186, False: 68]
  |  |  ------------------
  ------------------
  215|    186|                    le_offset -= 512;
  216|     68|                else if (H(2) == 0)
  ------------------
  |  |  198|     68|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  |  Branch (216:26): [True: 38, False: 30]
  ------------------
  217|     38|                    return false;
  218|    254|            }
  219|  14.5k|        } else if (memcmp(header, "BW", 2) == 0) // used in dos4gw.exe
  ------------------
  |  Branch (219:20): [True: 101, False: 14.4k]
  ------------------
  220|    101|            le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  198|    101|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                          le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  198|    101|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  221|  14.4k|        else if (memcmp(header, "LE", 2) == 0)
  ------------------
  |  Branch (221:18): [True: 397, False: 14.0k]
  ------------------
  222|    397|            break; // success
  223|  14.0k|        else if (memcmp(header, "PMW1", 4) == 0)
  ------------------
  |  Branch (223:18): [True: 44, False: 13.9k]
  ------------------
  224|     44|            throwCantPack("already packed with PMWLITE");
  225|  13.9k|        else
  226|  13.9k|            return false;
  227|  16.3k|    }
  228|    463|    if (ic == 20)
  ------------------
  |  Branch (228:9): [True: 66, False: 397]
  ------------------
  229|     66|        return false;
  230|    397|    fif->seek(le_offset, SEEK_SET);
  231|    397|    fif->readx(&ih, sizeof(ih));
  232|    397|    if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    397|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    389|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    350|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    350|#define mps     ih.memory_page_size
  ------------------
  |  Branch (232:9): [True: 8, False: 389]
  |  Branch (232:22): [True: 39, False: 350]
  |  Branch (232:39): [True: 8, False: 342]
  ------------------
  233|     55|        throwCantPack("LE file header invalid page size %u", (unsigned) mps);
  ------------------
  |  |   59|     55|#define mps     ih.memory_page_size
  ------------------
  234|    342|    if (ih.bytes_on_last_page > mps || pages == 0)
  ------------------
  |  |   59|    684|#define mps     ih.memory_page_size
  ------------------
                  if (ih.bytes_on_last_page > mps || pages == 0)
  ------------------
  |  |   58|    330|#define pages   ih.memory_pages
  ------------------
  |  Branch (234:9): [True: 12, False: 330]
  |  Branch (234:40): [True: 1, False: 329]
  ------------------
  235|     13|        throwCantPack("bad LE file header");
  236|    329|    if (!mem_size_valid(mps, pages) || exe_offset > le_offset)
  ------------------
  |  |   59|    329|#define mps     ih.memory_page_size
  ------------------
                  if (!mem_size_valid(mps, pages) || exe_offset > le_offset)
  ------------------
  |  |   58|    329|#define pages   ih.memory_pages
  ------------------
  |  Branch (236:9): [True: 63, False: 266]
  |  Branch (236:40): [True: 0, False: 266]
  ------------------
  237|     63|        throwCantPack("bad LE file header");
  238|    266|    return true;
  239|    329|#undef H
  240|    329|}

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

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

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

_Z15opt_is_compressi:
   58|  38.7M|forceinline constexpr bool opt_is_compress(int cmd) noexcept {
   59|  38.7M|    return cmd == CMD_NONE || cmd == CMD_COMPRESS;
  ------------------
  |  Branch (59:12): [True: 30.9M, False: 7.88M]
  |  Branch (59:31): [True: 0, False: 7.88M]
  ------------------
   60|  38.7M|}
_ZN7OptionsUt2_5resetEv:
  134|   176k|        void reset() noexcept {
  135|   176k|            crp_bzip2.reset();
  136|   176k|            crp_lzma.reset();
  137|   176k|            crp_ucl.reset();
  138|   176k|            crp_zlib.reset();
  139|   176k|            crp_zstd.reset();
  140|   176k|        }

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

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

_ZN9PackCpm86C2EP9InputFile:
   90|  2.35k|PackCpm86::PackCpm86(InputFile *f) : super(f) {
   91|  2.35k|    bele = &N_BELE_RTP::le_policy;
   92|  2.35k|    ngroups = 0;
   93|  2.35k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
   94|  2.35k|    model_8080 = false;
   95|  2.35k|    memset(ih, 0, sizeof(ih));
   96|  2.35k|    memset(groups, 0, sizeof(groups));
   97|  2.35k|}
_ZN9PackCpm8614readFileHeaderEv:
  115|  2.35k|int PackCpm86::readFileHeader() {
  116|  2.35k|    ngroups = 0;
  117|  2.35k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
  118|  2.35k|    memset(groups, 0, sizeof(groups));
  119|       |
  120|  2.35k|    fi->seek(0, SEEK_SET);
  121|  2.35k|    if (fi->read(ih, CMD_HDR_SIZE) != (int) CMD_HDR_SIZE)
  ------------------
  |  Branch (121:9): [True: 0, False: 2.35k]
  ------------------
  122|      0|        return 0;
  123|       |
  124|       |    // the header tail (after the 8 group descriptors) must be all zero
  125|  17.7k|    for (unsigned i = CMD_NGROUPS * GD_SIZE; i < CMD_HDR_SIZE; i++)
  ------------------
  |  Branch (125:46): [True: 17.6k, False: 104]
  ------------------
  126|  17.6k|        if (ih[i] != 0)
  ------------------
  |  Branch (126:13): [True: 2.25k, False: 15.3k]
  ------------------
  127|  2.25k|            return 0;
  128|       |
  129|    104|    unsigned fpos = CMD_HDR_SIZE;
  130|    104|    int n = 0;
  131|    784|    for (unsigned i = 0; i < CMD_NGROUPS; i++) {
  ------------------
  |  Branch (131:26): [True: 702, False: 82]
  ------------------
  132|    702|        const byte *d = ih + i * GD_SIZE;
  133|    702|        unsigned type = d[0];
  134|    702|        if (type == GT_UNUSED)
  ------------------
  |  Branch (134:13): [True: 276, False: 426]
  ------------------
  135|    276|            continue;
  136|    426|        if (type > GT_ESCAPE)
  ------------------
  |  Branch (136:13): [True: 22, False: 404]
  ------------------
  137|     22|            return 0; // not a valid CMD
  138|    404|        Group &g = groups[n];
  139|    404|        g.type = type;
  140|    404|        g.length = get_le16(d + 1);
  141|    404|        g.base = get_le16(d + 3);
  142|    404|        g.min = get_le16(d + 5);
  143|    404|        g.max = get_le16(d + 7);
  144|    404|        g.file_off = fpos;
  145|    404|        fpos += g.length * 16;
  146|    404|        if (type == GT_CODE && !grp_code)
  ------------------
  |  Branch (146:13): [True: 159, False: 245]
  |  Branch (146:32): [True: 79, False: 80]
  ------------------
  147|     79|            grp_code = &g;
  148|    325|        else if (type == GT_DATA && !grp_data)
  ------------------
  |  Branch (148:18): [True: 116, False: 209]
  |  Branch (148:37): [True: 67, False: 49]
  ------------------
  149|     67|            grp_data = &g;
  150|    258|        else if (type == GT_EXTRA && !grp_extra)
  ------------------
  |  Branch (150:18): [True: 24, False: 234]
  |  Branch (150:38): [True: 8, False: 16]
  ------------------
  151|      8|            grp_extra = &g;
  152|    250|        else if (type == GT_STACK && !grp_stack)
  ------------------
  |  Branch (152:18): [True: 75, False: 175]
  |  Branch (152:38): [True: 64, False: 11]
  ------------------
  153|     64|            grp_stack = &g;
  154|    404|        n++;
  155|    404|    }
  156|     82|    ngroups = n;
  157|     82|    if (!grp_code || grp_code->length == 0)
  ------------------
  |  Branch (157:9): [True: 7, False: 75]
  |  Branch (157:22): [True: 1, False: 74]
  ------------------
  158|      8|        return 0; // must have a code group with content
  159|     74|    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|     74|    if (fpos > file_size_u + 0x10000)
  ------------------
  |  Branch (163:9): [True: 12, False: 62]
  ------------------
  164|     12|        return 0;
  165|     62|    model_8080 = (grp_data == nullptr);
  166|     62|    return UPX_F_CPM86_CMD;
  ------------------
  |  |  615|     62|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  167|     74|}
_ZN9PackCpm869canUnpackEv:
  469|  2.35k|tribool PackCpm86::canUnpack() {
  470|  2.35k|    if (!readFileHeader())
  ------------------
  |  Branch (470:9): [True: 2.29k, False: 62]
  ------------------
  471|  2.29k|        return false;
  472|       |    // the loader + pack header live at the start of the code group
  473|     62|    fi->seek(grp_code->file_off, SEEK_SET);
  474|     62|    if (!readPackHeader(4096))
  ------------------
  |  Branch (474:9): [True: 4, False: 58]
  ------------------
  475|      4|        return false;
  476|     58|    return file_size_u > grp_code->file_off + ph.c_len;
  477|     62|}
_ZN9PackCpm866unpackEP10OutputFile:
  483|     46|void PackCpm86::unpack(OutputFile *fo) {
  484|     46|    ibuf.alloc(file_size);
  485|     46|    obuf.allocForDecompression(ph.u_len);
  486|       |
  487|     46|    fi->seek(0, SEEK_SET);
  488|     46|    fi->readx(ibuf, file_size);
  489|       |
  490|       |    // compressed data starts right after the pack header in the code group
  491|     46|    const unsigned e_len = ph.buf_offset + ph.getPackHeaderSize();
  492|     46|    const unsigned c_off = grp_code->file_off + e_len;
  493|     46|    if (file_size_u < c_off + ph.c_len)
  ------------------
  |  Branch (493:9): [True: 6, False: 40]
  ------------------
  494|      6|        throwCantUnpack("file damaged");
  495|       |
  496|       |    // decompress -> the entire original file (header + all group data)
  497|     40|    decompress(ibuf + c_off, obuf);
  498|       |
  499|       |    // ph.u_len may include padding past the real end of file; write only the
  500|       |    // original byte count for a lossless result.  u_file_size is taken verbatim
  501|       |    // from the pack header and must not exceed u_len (the obuf size), else the
  502|       |    // write below would read past the decompression buffer.
  503|     40|    const unsigned out_len = ph.u_file_size ? ph.u_file_size : ph.u_len;
  ------------------
  |  Branch (503:30): [True: 0, False: 40]
  ------------------
  504|     40|    if (out_len > ph.u_len)
  ------------------
  |  Branch (504:9): [True: 0, False: 40]
  ------------------
  505|      0|        throwCantUnpack("file damaged");
  506|     40|    if (fo)
  ------------------
  |  Branch (506:9): [True: 0, False: 40]
  ------------------
  507|      0|        fo->write(obuf, out_len);
  508|     40|}

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

_ZN10PackDjgpp2C2EP9InputFile:
   46|  14.6k|PackDjgpp2::PackDjgpp2(InputFile *f) : super(f), coff_offset(0) {
   47|  14.6k|    bele = &N_BELE_RTP::le_policy;
   48|  14.6k|    COMPILE_TIME_ASSERT(sizeof(dos_header_t) == 64)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   49|  14.6k|    COMPILE_TIME_ASSERT(sizeof(external_scnhdr_t) == 40)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   50|  14.6k|    COMPILE_TIME_ASSERT(sizeof(coff_header_t) == 0xa8)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   51|  14.6k|    COMPILE_TIME_ASSERT_ALIGNED1(dos_header_t)
  ------------------
  |  |  465|  14.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  14.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  14.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  14.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  14.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  14.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  14.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  14.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  14.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  14.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  14.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  14.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  14.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  14.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  14.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  14.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.6k|    COMPILE_TIME_ASSERT_ALIGNED1(external_scnhdr_t)
  ------------------
  |  |  465|  14.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  14.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  14.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  14.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  14.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  14.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  14.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  14.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  14.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  14.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  14.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  14.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  14.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  14.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  14.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  14.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.6k|    COMPILE_TIME_ASSERT_ALIGNED1(coff_header_t)
  ------------------
  |  |  465|  14.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  14.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  14.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  14.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  14.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  14.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  14.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  14.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  14.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  14.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  14.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  14.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  14.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  14.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  14.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  14.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  14.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.6k|    COMPILE_TIME_ASSERT(sizeof(stub_i386_dos32_djgpp2_stubify) == 2048)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|  14.6k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_ADLER32 == 0xbf689ba8)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|  14.6k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_CRC32 == 0x2ae982b2)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    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.6k|}
_ZN10PackDjgpp210handleStubEP10OutputFile:
   99|      4|void PackDjgpp2::handleStub(OutputFile *fo) {
  100|      4|    if (fo && !opt->djgpp2_coff.coff) {
  ------------------
  |  Branch (100:9): [True: 4, False: 0]
  |  Branch (100:15): [True: 4, False: 0]
  ------------------
  101|      4|        if (coff_offset > 0) {
  ------------------
  |  Branch (101:13): [True: 3, False: 1]
  ------------------
  102|       |            // copy stub from exe
  103|      3|            Packer::handleStub(fi, fo, coff_offset);
  104|      3|        } 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|      4|    }
  110|      4|}
_ZN10PackDjgpp214readFileHeaderEv:
  156|  14.6k|int PackDjgpp2::readFileHeader() {
  157|  14.6k|    dos_header_t dos_hdr;
  158|       |
  159|  14.6k|    fi->seek(0, SEEK_SET);
  160|  14.6k|    fi->readx(&dos_hdr, sizeof(dos_hdr));
  161|  14.6k|    if (get_le16(&dos_hdr.e_magic) == 0x5a4d) { // MZ exe signature, stubbed?
  ------------------
  |  Branch (161:9): [True: 532, False: 14.1k]
  ------------------
  162|    532|        byte magic[8];
  163|    532|        fi->seek(16 * get_le16(&dos_hdr.e_cparhdr), SEEK_SET);
  164|    532|        fi->readx(magic, 8);
  165|    532|        if (memcmp("go32stub", magic, 8) != 0)
  ------------------
  |  Branch (165:13): [True: 352, False: 180]
  ------------------
  166|    352|            return 0; // not V2 image
  167|    180|        coff_offset = 512 * get_le16(&dos_hdr.e_cp);
  168|    180|        if (get_le16(&dos_hdr.e_cblp) != 0)
  ------------------
  |  Branch (168:13): [True: 18, False: 162]
  ------------------
  169|     18|            coff_offset += get_le16(&dos_hdr.e_cblp) - 512;
  170|  14.1k|    } else {
  171|       |        // no stub: the COFF header is at the start (and the bytes above aren't DOS fields)
  172|  14.1k|        coff_offset = 0;
  173|  14.1k|    }
  174|  14.3k|    fi->seek(coff_offset, SEEK_SET);
  175|  14.3k|    if (fi->read(&coff_hdr, sizeof(coff_hdr)) != sizeof(coff_hdr))
  ------------------
  |  Branch (175:9): [True: 6, False: 14.3k]
  ------------------
  176|      6|        throwCantPack("skipping djgpp symlink");
  177|  14.3k|    if (coff_hdr.f_magic != 0x014c) // I386MAGIC
  ------------------
  |  Branch (177:9): [True: 14.1k, False: 198]
  ------------------
  178|  14.1k|        return 0;
  179|    198|    if ((coff_hdr.f_flags & 2) == 0) // F_EXEC - COFF executable
  ------------------
  |  Branch (179:9): [True: 2, False: 196]
  ------------------
  180|      2|        return 0;
  181|    196|    if (coff_hdr.a_magic != 0413) // ZMAGIC - demand load format
  ------------------
  |  Branch (181:9): [True: 9, False: 187]
  ------------------
  182|      9|        return 0;
  183|       |    // FIXME: check for Linux etc.
  184|       |
  185|    187|    text = &coff_hdr.sh[0];
  186|    187|    data = &coff_hdr.sh[1];
  187|    187|    bss = &coff_hdr.sh[2];
  188|    187|    return UPX_F_DJGPP2_COFF;
  ------------------
  |  |  573|    187|#define UPX_F_DJGPP2_COFF         4
  ------------------
  189|    196|}
_ZN10PackDjgpp29canUnpackEv:
  352|  14.6k|tribool PackDjgpp2::canUnpack() {
  353|  14.6k|    if (!readFileHeader())
  ------------------
  |  Branch (353:9): [True: 14.4k, False: 193]
  ------------------
  354|  14.4k|        return false;
  355|    193|    if (is_dlm(fi, coff_offset))
  ------------------
  |  Branch (355:9): [True: 0, False: 193]
  ------------------
  356|      0|        throwCantUnpack("can't handle DLM");
  357|    193|    fi->seek(coff_offset, SEEK_SET);
  358|    193|    return readPackHeader(4096) ? 1 : -1;
  ------------------
  |  Branch (358:12): [True: 4, False: 189]
  ------------------
  359|    193|}
_ZN10PackDjgpp26unpackEP10OutputFile:
  365|      4|void PackDjgpp2::unpack(OutputFile *fo) {
  366|      4|    handleStub(fo);
  367|       |
  368|      4|    ibuf.alloc(ph.c_len);
  369|      4|    obuf.allocForDecompression(ph.u_len);
  370|       |
  371|      4|    fi->seek(coff_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  372|      4|    fi->readx(ibuf, ph.c_len);
  373|       |
  374|       |    // decompress
  375|      4|    decompress(ibuf, obuf);
  376|       |
  377|      4|    coff_header_t *const chdr = (coff_header_t *) raw_bytes(obuf, sizeof(coff_header_t));
  378|      4|    text = &chdr->sh[0];
  379|      4|    data = &chdr->sh[1];
  380|      4|    bss = &chdr->sh[2];
  381|       |
  382|      4|    const unsigned hdrsize = 20 + 28 + mem_size(sizeof(external_scnhdr_t), chdr->f_nscns);
  383|      4|    if (hdrsize < sizeof(coff_hdr) || hdrsize > text->scnptr || hdrsize > ph.u_len ||
  ------------------
  |  Branch (383:9): [True: 2, False: 2]
  |  Branch (383:39): [True: 0, False: 2]
  |  Branch (383:65): [True: 0, False: 2]
  ------------------
  384|      2|        data->size > ph.u_len)
  ------------------
  |  Branch (384:9): [True: 0, False: 2]
  ------------------
  385|      0|        throwCantUnpack("coff header error");
  386|       |
  387|      4|    unsigned addvalue;
  388|      4|    if (ph.version >= 14)
  ------------------
  |  Branch (388:9): [True: 2, False: 2]
  ------------------
  389|      2|        addvalue = text->vaddr - hdrsize;
  390|      2|    else
  391|      2|        addvalue = text->vaddr & ~0x1ff; // for old versions
  392|       |
  393|       |    // unfilter
  394|      4|    if (ph.filter) {
  ------------------
  |  Branch (394:9): [True: 2, False: 2]
  ------------------
  395|      2|        Filter ft(ph.level);
  396|      2|        ft.init(ph.filter, addvalue);
  397|      2|        ft.cto = (byte) ph.filter_cto;
  398|      2|        if (ph.version < 11) {
  ------------------
  |  Branch (398:13): [True: 0, False: 2]
  ------------------
  399|      0|            byte ctobuf[4];
  400|      0|            fi->readx(ctobuf, 4);
  401|      0|            ft.cto = (byte) (get_le32(ctobuf) >> 24);
  402|      0|        }
  403|      2|        ft.unfilter(obuf, ph.u_len - data->size);
  404|      2|    }
  405|       |
  406|      4|    if (ph.version < 14) {
  ------------------
  |  Branch (406:9): [True: 0, False: 4]
  ------------------
  407|       |        // fixup for the aligning bug in strip 2.8+
  408|      0|        text->scnptr &= 0x1ff;
  409|      0|        data->scnptr = text->scnptr + text->size;
  410|       |        // write decompressed file
  411|      0|        if (fo)
  ------------------
  |  Branch (411:13): [True: 0, False: 0]
  ------------------
  412|      0|            fo->write(obuf, ph.u_len);
  413|      4|    } else {
  414|       |        // write the header
  415|       |        // some padding might be required between the end
  416|       |        // of the header and the start of the .text section
  417|       |
  418|      4|        const unsigned padding = text->scnptr - hdrsize;
  419|      4|        ibuf.clear(0, padding);
  420|       |
  421|      4|        if (fo) {
  ------------------
  |  Branch (421:13): [True: 2, False: 2]
  ------------------
  422|      2|            fo->write(obuf, hdrsize);
  423|      2|            fo->write(ibuf, padding);
  424|      2|            fo->write(obuf + hdrsize, ph.u_len - hdrsize);
  425|      2|        }
  426|      4|    }
  427|       |
  428|      4|    if (fo)
  ------------------
  |  Branch (428:9): [True: 2, False: 2]
  ------------------
  429|      2|        handle_allegropak(fi, fo);
  430|      4|}
p_djgpp2.cpp:_ZL6is_dlmP9InputFilej:
  112|     20|static bool is_dlm(InputFile *fi, unsigned coff_offset) {
  113|     20|    byte buf[4];
  114|     20|    unsigned off;
  115|       |
  116|     20|    try {
  117|     20|        fi->seek(coff_offset, SEEK_SET);
  118|     20|        fi->readx(buf, 4);
  119|     20|        off = get_le32(buf);
  120|     20|        if (off > coff_offset + 4)
  ------------------
  |  Branch (120:13): [True: 19, False: 1]
  ------------------
  121|     19|            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|     20|}
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());
  ------------------
  |  |  533|      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.6k|    virtual int getVersion() const override { return 14; }
_ZNK10PackDjgpp29getFormatEv:
   40|  29.3k|    virtual int getFormat() const override { return UPX_F_DJGPP2_COFF; }
  ------------------
  |  |  573|  29.3k|#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.0k|    static void compileTimeAssertions() noexcept {
  291|  27.0k|        BeLePolicy::compileTimeAssertions();
  292|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 52)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  293|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 32)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  294|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 40)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  295|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 8)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  296|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 8)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  297|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 12)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  298|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 16)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  299|  27.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  300|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  27.0k|    }
_ZN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  290|  27.0k|    static void compileTimeAssertions() noexcept {
  291|  27.0k|        BeLePolicy::compileTimeAssertions();
  292|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 52)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  293|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 32)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  294|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 40)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  295|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 8)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  296|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 8)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  297|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 12)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  298|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 16)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  299|  27.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  300|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  27.0k|    }
_ZN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  331|  27.0k|    static void compileTimeAssertions() noexcept {
  332|  27.0k|        BeLePolicy::compileTimeAssertions();
  333|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 64)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  334|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 56)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  335|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 64)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  336|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 16)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  337|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 16)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  338|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 24)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  339|  27.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 24)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  340|  27.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  341|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  344|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  27.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  465|  27.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  27.0k|    }

_ZN7PackExeC2EP9InputFile:
   49|  13.7k|PackExe::PackExe(InputFile *f) : super(f) {
   50|  13.7k|    bele = &N_BELE_RTP::le_policy;
   51|  13.7k|    COMPILE_TIME_ASSERT(sizeof(exe_header_t) == 32)
  ------------------
  |  |  266|  13.7k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.7k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   52|  13.7k|    COMPILE_TIME_ASSERT_ALIGNED1(exe_header_t)
  ------------------
  |  |  465|  13.7k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  13.7k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  13.7k|    {                                                                                              \
  |  |  |  |  |  |  448|  13.7k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  13.7k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  13.7k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  13.7k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  13.7k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  13.7k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  13.7k|        };                                                                                         \
  |  |  |  |  |  |  455|  13.7k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  13.7k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.7k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  13.7k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  13.7k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.7k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  13.7k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  13.7k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  13.7k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  13.7k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  13.7k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  13.7k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.7k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  13.7k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  13.7k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.7k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  13.7k|}
_ZN7PackExe14readFileHeaderEv:
  216|  13.7k|int PackExe::readFileHeader() {
  217|  13.7k|    ih_exesize = ih_imagesize = ih_overlay = 0;
  218|  13.7k|    fi->readx(&ih, sizeof(ih));
  219|  13.7k|    if (ih.ident != 'M' + 'Z' * 256 && ih.ident != 'Z' + 'M' * 256)
  ------------------
  |  Branch (219:9): [True: 13.5k, False: 212]
  |  Branch (219:40): [True: 13.5k, False: 2]
  ------------------
  220|  13.5k|        return 0;
  221|    214|    ih_exesize = ih.m512 + ih.p512 * 512 - (ih.m512 ? 512 : 0);
  ------------------
  |  Branch (221:45): [True: 133, False: 81]
  ------------------
  222|    214|    if (ih_exesize == 0)
  ------------------
  |  Branch (222:9): [True: 72, False: 142]
  ------------------
  223|     72|        ih_exesize = file_size;
  224|    214|    ih_imagesize = ih_exesize - ih.headsize16 * 16;
  225|    214|    ih_overlay = file_size - ih_exesize;
  226|    214|    if (file_size_u < sizeof(ih) || ((ih.m512 | ih.p512) && ih.m512 + ih.p512 * 512u < sizeof(ih)))
  ------------------
  |  Branch (226:9): [True: 0, False: 214]
  |  Branch (226:38): [True: 146, False: 68]
  |  Branch (226:61): [True: 5, False: 141]
  ------------------
  227|      5|        throwCantPack("illegal exe header");
  228|    209|    if (ih_exesize > file_size_u || ih_imagesize < 4 || ih_imagesize > ih_exesize)
  ------------------
  |  Branch (228:9): [True: 90, False: 119]
  |  Branch (228:37): [True: 2, False: 117]
  |  Branch (228:57): [True: 38, False: 79]
  ------------------
  229|    130|        throwCantPack("exe header corrupted");
  230|     79|    NO_printf("dos/exe header: %d %d %d\n", ih_exesize, ih_imagesize, ih_overlay);
  231|     79|    return UPX_F_DOS_EXE;
  ------------------
  |  |  572|     79|#define UPX_F_DOS_EXE             3
  ------------------
  232|    209|}
_ZN7PackExe9canUnpackEv:
  581|  13.7k|tribool PackExe::canUnpack() {
  582|  13.7k|    if (!readFileHeader())
  ------------------
  |  Branch (582:9): [True: 13.5k, False: 214]
  ------------------
  583|  13.5k|        return false;
  584|    214|    const unsigned off = ih.headsize16 * 16;
  585|    214|    fi->seek(off, SEEK_SET);
  586|    214|    bool b = readPackHeader(4096);
  587|    214|    return b && (off + ph.c_len <= file_size_u);
  ------------------
  |  Branch (587:12): [True: 56, False: 158]
  |  Branch (587:17): [True: 55, False: 1]
  ------------------
  588|  13.7k|}
_ZN7PackExe6unpackEP10OutputFile:
  594|     55|void PackExe::unpack(OutputFile *fo) {
  595|     55|    ibuf.alloc(file_size);
  596|     55|    obuf.allocForDecompression(ph.u_len);
  597|       |
  598|       |    // read the file
  599|     55|    fi->seek(ih.headsize16 * 16, SEEK_SET);
  600|     55|    fi->readx(ibuf, ih_imagesize);
  601|       |
  602|       |    // get compressed data offset
  603|     55|    unsigned e_len = ph.buf_offset + ph.getPackHeaderSize();
  604|     55|    if (ih_imagesize <= e_len + ph.c_len)
  ------------------
  |  Branch (604:9): [True: 2, False: 53]
  ------------------
  605|      2|        throwCantUnpack("file damaged");
  606|       |
  607|     53|    checkOverlay(ih_overlay);
  608|       |
  609|       |    // decompress
  610|     53|    decompress(ibuf + e_len, obuf);
  611|       |
  612|     53|    unsigned imagesize = ih_imagesize;
  613|     53|    imagesize -= 1;
  614|     53|    const byte flag = ibuf[imagesize];
  615|       |
  616|       |    // relocations
  617|     53|    unsigned relocnum = 0;
  618|     53|    SPAN_S_VAR(const byte, relocstart, obuf + ph.u_len, obuf);
  ------------------
  |  |  214|     53|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     53|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     53|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     53|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  619|     53|    MemBuffer mb_relocs;
  620|     53|    SPAN_0_VAR(byte, relocs, nullptr);
  ------------------
  |  |  212|     53|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     53|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     53|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     53|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     53|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     53|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  621|     53|    if (!(flag & NORELOC)) {
  ------------------
  |  Branch (621:9): [True: 0, False: 53]
  ------------------
  622|      0|        mb_relocs.alloc(4 * MAXRELOCSIZE);
  ------------------
  |  |   41|      0|#define MAXRELOCSIZE (0x8000 - MAXMATCH)
  |  |  ------------------
  |  |  |  |   40|      0|#define MAXMATCH     0x2000
  |  |  ------------------
  ------------------
  623|      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__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  624|       |
  625|      0|        relocsize = get_le16(obuf + ph.u_len - 2);
  626|      0|        ph.u_len -= 2;
  627|      0|        if (relocsize < 11 || relocsize > MAXRELOCSIZE || relocsize >= imagesize)
  ------------------
  |  |   41|      0|#define MAXRELOCSIZE (0x8000 - MAXMATCH)
  |  |  ------------------
  |  |  |  |   40|      0|#define MAXMATCH     0x2000
  |  |  ------------------
  ------------------
  |  Branch (627:13): [True: 0, False: 0]
  |  Branch (627:31): [True: 0, False: 0]
  |  Branch (627:59): [True: 0, False: 0]
  ------------------
  628|      0|            throwCantUnpack("bad relocations");
  629|      0|        relocstart -= relocsize;
  630|       |
  631|       |        // unoptimize_relocs
  632|      0|        unsigned ones = get_le16(relocstart);
  633|      0|        const unsigned seg_high = get_le16(relocstart + 2);
  634|      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__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  635|      0|        unsigned es = 0;
  636|      0|        while (ones) {
  ------------------
  |  Branch (636:16): [True: 0, False: 0]
  ------------------
  637|      0|            unsigned di = get_le16(p);
  638|      0|            es += get_le16(p + 2);
  639|      0|            bool dorel = true;
  640|      0|            for (p += 4; ones && di < 0x10000; p++) {
  ------------------
  |  Branch (640:26): [True: 0, False: 0]
  |  Branch (640:34): [True: 0, False: 0]
  ------------------
  641|      0|                if (dorel) {
  ------------------
  |  Branch (641:21): [True: 0, False: 0]
  ------------------
  642|      0|                    set_le16(relocs + (4 * relocnum + 0), di);
  643|      0|                    set_le16(relocs + (4 * relocnum + 2), es);
  644|      0|                    NO_printf("dos/exe unreloc %4d %6x\n", relocnum, es * 16 + di);
  645|      0|                    relocnum++;
  646|      0|                }
  647|      0|                dorel = true;
  648|      0|                if (*p == 0) {
  ------------------
  |  Branch (648:21): [True: 0, False: 0]
  ------------------
  649|      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__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  650|      0|                    while (!(*q == 0x9a && get_le16(q + 3) <= seg_high))
  ------------------
  |  Branch (650:28): [True: 0, False: 0]
  |  Branch (650:30): [True: 0, False: 0]
  |  Branch (650:44): [True: 0, False: 0]
  ------------------
  651|      0|                        q++;
  652|      0|                    di = ptr_udiff_bytes(q, obuf + (es * 16)) + 3;
  653|      0|                } else if (*p == 1) {
  ------------------
  |  Branch (653:28): [True: 0, False: 0]
  ------------------
  654|      0|                    di += 254;
  655|      0|                    if (di < 0x10000)
  ------------------
  |  Branch (655:25): [True: 0, False: 0]
  ------------------
  656|      0|                        ones--;
  657|      0|                    dorel = false;
  658|      0|                } else
  659|      0|                    di += *p;
  660|      0|            }
  661|      0|        }
  662|      0|    }
  663|       |
  664|       |    // fill new exe header
  665|     53|    mem_clear(&oh);
  666|     53|    oh.ident = 'M' + 'Z' * 256;
  667|       |
  668|     53|    if (relocnum) {
  ------------------
  |  Branch (668:9): [True: 0, False: 53]
  ------------------
  669|      0|        oh.relocs = relocnum;
  670|      0|        while (relocnum & 3) // paragraph align
  ------------------
  |  Branch (670:16): [True: 0, False: 0]
  ------------------
  671|      0|            set_le32(relocs + (4 * relocnum++), 0);
  672|      0|    }
  673|       |
  674|     53|    const unsigned outputlen = sizeof(oh) + 4 * relocnum + ptr_udiff_bytes(relocstart, obuf);
  675|     53|    oh.m512 = outputlen & 511;
  676|     53|    oh.p512 = (outputlen + 511) >> 9;
  677|     53|    oh.headsize16 = 2 + relocnum / 4;
  678|       |
  679|     53|    oh.max = ih.max;
  680|     53|    oh.min = ih.min;
  681|     53|    oh.sp = ih.sp;
  682|     53|    oh.ss = ih.ss;
  683|       |
  684|     53|    if (flag & MAXMEM) {
  ------------------
  |  Branch (684:9): [True: 0, False: 53]
  ------------------
  685|      0|        imagesize -= 2;
  686|      0|        oh.max = get_le16(ibuf + imagesize);
  687|      0|    }
  688|     53|    if (flag & MINMEM) {
  ------------------
  |  Branch (688:9): [True: 0, False: 53]
  ------------------
  689|      0|        imagesize -= 2;
  690|      0|        oh.min = get_le16(ibuf + imagesize);
  691|      0|    }
  692|     53|    if (flag & SP) {
  ------------------
  |  Branch (692:9): [True: 0, False: 53]
  ------------------
  693|      0|        imagesize -= 2;
  694|      0|        oh.sp = get_le16(ibuf + imagesize);
  695|      0|    }
  696|     53|    if (flag & SS) {
  ------------------
  |  Branch (696:9): [True: 0, False: 53]
  ------------------
  697|      0|        imagesize -= 2;
  698|      0|        oh.ss = get_le16(ibuf + imagesize);
  699|      0|    }
  700|       |
  701|     53|    const unsigned ip =
  702|     53|        (flag & USEJUMP) ? get_le32(ibuf + (imagesize - 4)) : (unsigned) ih.firstreloc;
  ------------------
  |  Branch (702:9): [True: 0, False: 53]
  ------------------
  703|     53|    oh.ip = ip & 0xffff;
  704|     53|    oh.cs = ip >> 16;
  705|       |
  706|     53|    oh.relocoffs = sizeof(oh);
  707|     53|    oh.firstreloc = 0;
  708|     53|    if (!fo)
  ------------------
  |  Branch (708:9): [True: 0, False: 53]
  ------------------
  709|      0|        return;
  710|       |
  711|       |    // write header + relocations + uncompressed file
  712|     53|    fo->write(&oh, sizeof(oh));
  713|     53|    if (relocnum)
  ------------------
  |  Branch (713:9): [True: 0, False: 53]
  ------------------
  714|      0|        fo->write(relocs, 4 * relocnum);
  715|     53|    fo->write(obuf, ptr_udiff_bytes(relocstart, obuf));
  716|       |
  717|       |    // copy the overlay
  718|     53|    copyOverlay(fo, ih_overlay, obuf);
  719|     53|}

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

_ZNK14PackLinuxElf329checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
  151|  93.2k|{
  152|  93.2k|    const unsigned char * const buf = ehdr->e_ident;
  153|       |
  154|  93.2k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (154:9): [True: 41.3k, False: 51.9k]
  ------------------
  155|  51.9k|    ||  buf[Elf32_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (155:9): [True: 20.5k, False: 31.3k]
  ------------------
  156|  31.3k|    ||  buf[Elf32_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (156:9): [True: 18.7k, False: 12.5k]
  ------------------
  157|  93.2k|    ) {
  158|  80.6k|        return -1;
  159|  80.6k|    }
  160|  12.5k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (160:9): [True: 12, False: 12.5k]
  ------------------
  161|     12|        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.73k, False: 9.84k]
  |  Branch (164:40): [True: 2.02k, False: 712]
  ------------------
  165|  2.02k|        return 2;
  166|  10.5k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (166:9): [True: 2.93k, False: 7.62k]
  ------------------
  167|  2.93k|        return 3;
  168|  7.62k|    if (get_te32(&ehdr->e_version) != Elf32_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (168:9): [True: 401, False: 7.22k]
  ------------------
  169|    401|        return 4;
  170|  7.22k|    if (e_phnum < 1)
  ------------------
  |  Branch (170:9): [True: 312, False: 6.90k]
  ------------------
  171|    312|        return 5;
  172|  6.90k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf32_Phdr))
  ------------------
  |  Branch (172:9): [True: 215, False: 6.69k]
  ------------------
  173|    215|        return 6;
  174|       |
  175|  6.69k|    if (type == Elf32_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (175:9): [True: 6.47k, False: 219]
  ------------------
  176|       |        // check for Linux kernels
  177|  6.47k|        unsigned const entry = get_te32(&ehdr->e_entry);
  178|  6.47k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (178:13): [True: 5, False: 6.47k]
  ------------------
  179|      5|            return 1000;
  180|  6.47k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (180:13): [True: 5, False: 6.46k]
  ------------------
  181|      5|            return 1001;
  182|  6.46k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (182:13): [True: 5, False: 6.46k]
  ------------------
  183|      5|            return 1002;
  184|  6.46k|    }
  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|  6.67k|    return 0;
  193|  6.69k|}
_ZNK14PackLinuxElf649checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
  197|  40.7k|{
  198|  40.7k|    const unsigned char * const buf = ehdr->e_ident;
  199|  40.7k|    unsigned char osabi0 = buf[Elf32_Ehdr::EI_OSABI];
  200|  40.7k|    if (0==osabi0) {
  ------------------
  |  Branch (200:9): [True: 12.6k, False: 28.0k]
  ------------------
  201|  12.6k|        osabi0 = opt->o_unix.osabi0;
  202|  12.6k|    }
  203|       |
  204|  40.7k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (204:9): [True: 22.9k, False: 17.7k]
  ------------------
  205|  17.7k|    ||  buf[Elf64_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (205:9): [True: 11.1k, False: 6.68k]
  ------------------
  206|  6.68k|    ||  buf[Elf64_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (206:9): [True: 2.39k, False: 4.29k]
  ------------------
  207|  4.29k|    ||                     osabi0!=ei_osabi
  ------------------
  |  Branch (207:28): [True: 1.07k, False: 3.21k]
  ------------------
  208|  40.7k|    ) {
  209|  37.5k|        return -1;
  210|  37.5k|    }
  211|  3.21k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (211:9): [True: 9, False: 3.20k]
  ------------------
  212|      9|        return 1;
  213|       |
  214|  3.20k|    int const type = get_te16(&ehdr->e_type);
  215|  3.20k|    if (type != Elf64_Ehdr::ET_EXEC && type != Elf64_Ehdr::ET_DYN)
  ------------------
  |  Branch (215:9): [True: 1.37k, False: 1.82k]
  |  Branch (215:40): [True: 1.00k, False: 372]
  ------------------
  216|  1.00k|        return 2;
  217|  2.20k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (217:9): [True: 717, False: 1.48k]
  ------------------
  218|    717|        return 3;
  219|  1.48k|    if (get_te32(&ehdr->e_version) != Elf64_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (219:9): [True: 61, False: 1.42k]
  ------------------
  220|     61|        return 4;
  221|  1.42k|    if (e_phnum < 1)
  ------------------
  |  Branch (221:9): [True: 3, False: 1.41k]
  ------------------
  222|      3|        return 5;
  223|  1.41k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf64_Phdr))
  ------------------
  |  Branch (223:9): [True: 43, False: 1.37k]
  ------------------
  224|     43|        return 6;
  225|       |
  226|  1.37k|    if (type == Elf64_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (226:9): [True: 1.26k, False: 109]
  ------------------
  227|       |        // check for Linux kernels
  228|  1.26k|        upx_uint64_t const entry = get_te64(&ehdr->e_entry);
  229|  1.26k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (229:13): [True: 1, False: 1.26k]
  ------------------
  230|      1|            return 1000;
  231|  1.26k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (231:13): [True: 1, False: 1.26k]
  ------------------
  232|      1|            return 1001;
  233|  1.26k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (233:13): [True: 1, False: 1.26k]
  ------------------
  234|      1|            return 1002;
  235|  1.26k|    }
  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.37k|    return 0;
  244|  1.37k|}
_ZN12PackLinuxElfC2EP9InputFile:
  247|   136k|    : super(f), e_phnum(0), dynstr(nullptr),
  248|   136k|    sz_phdrs(0), sz_elf_hdrs(0), sz_pack2(0), sz_pack2a(0),
  249|   136k|    lg2_page(12), page_size(1u<<lg2_page), is_pie(0), is_asl(0),
  250|   136k|    xct_off(0), o_binfo(0), so_slide(0), xct_va(0), jni_onload_va(0),
  251|   136k|    user_init_va(0), user_init_off(0),
  252|   136k|    e_machine(0), ei_class(0), ei_data(0), ei_osabi(0), osabi_note(nullptr),
  253|   136k|    shstrtab(nullptr),
  254|   136k|    o_elf_shnum(0)
  255|   136k|{
  256|   136k|    memset(dt_table, 0, sizeof(dt_table));
  257|   136k|    symnum_max = 0;
  258|   136k|    user_init_rp = nullptr;
  259|   136k|}
_ZN12PackLinuxElfD2Ev:
  262|   136k|{
  263|   136k|}
_ZNK14PackLinuxElf327is_LOADEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
  266|  64.2k|{
  267|       |    // (1+ PT_LOPROC) can confuse!
  268|  64.2k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  64.2k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  269|  64.2k|}
_ZNK14PackLinuxElf647is_LOADEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
  272|  50.3k|{
  273|       |    // (1+ PT_LOPROC) can confuse!
  274|  50.3k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  50.3k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  275|  50.3k|}
_ZN14PackLinuxElf3219PackLinuxElf32help1EP9InputFile:
  279|  94.7k|{
  280|  94.7k|    e_type  = get_te16(&ehdri.e_type);
  281|  94.7k|    e_phnum = get_te16(&ehdri.e_phnum);
  282|  94.7k|    e_shnum = get_te16(&ehdri.e_shnum);
  283|  94.7k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
  284|  94.7k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (284:9): [True: 41.3k, False: 53.4k]
  ------------------
  285|  53.4k|    || ehdri.e_ident[Elf32_Ehdr::EI_CLASS]!=Elf32_Ehdr::ELFCLASS32
  ------------------
  |  Branch (285:8): [True: 20.5k, False: 32.8k]
  ------------------
  286|  32.8k|    || sizeof(Elf32_Phdr) != e_phentsize
  ------------------
  |  Branch (286:8): [True: 21.7k, False: 11.0k]
  ------------------
  287|  11.0k|    || (Elf32_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (287:9): [True: 4.27k, False: 6.82k]
  ------------------
  288|  4.27k|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (288:16): [True: 12, False: 4.26k]
  ------------------
  289|  11.0k|    || (Elf32_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (289:9): [True: 6.35k, False: 4.72k]
  ------------------
  290|  83.6k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (290:16): [True: 9, False: 6.34k]
  ------------------
  291|  83.6k|        e_phoff = 0;
  292|  83.6k|        e_shoff = 0;
  293|  83.6k|        sz_phdrs = 0;
  294|  83.6k|        return;
  295|  83.6k|    }
  296|  11.0k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (296:9): [True: 1, False: 11.0k]
  ------------------
  297|  11.0k|    e_phoff = get_te32(&ehdri.e_phoff);
  298|  11.0k|    unsigned const last_Phdr = e_phoff + e_phnum * usizeof(Elf32_Phdr);
  ------------------
  |  |  528|  11.0k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  299|  11.0k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (299:9): [True: 42, False: 11.0k]
  ------------------
  300|  11.0k|    ||  e_phoff != sizeof(Elf32_Ehdr)  // must be contiguous
  ------------------
  |  Branch (300:9): [True: 398, False: 10.6k]
  ------------------
  301|  10.6k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (301:9): [True: 16, False: 10.6k]
  ------------------
  302|    456|        throwCantUnpack("bad e_phoff %#x", e_phoff);
  303|    456|    }
  304|  10.6k|    e_shoff = get_te32(&ehdri.e_shoff);
  305|  10.6k|    e_shstrndx = get_te16(&ehdri.e_shstrndx);
  306|  10.6k|    unsigned const last_Shdr = e_shoff + e_shnum * usizeof(Elf32_Shdr);
  ------------------
  |  |  528|  10.6k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  307|  10.6k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (307:9): [True: 198, False: 10.4k]
  ------------------
  308|  10.4k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (308:10): [True: 5.81k, False: 4.60k]
  |  Branch (308:21): [True: 1.98k, False: 3.83k]
  ------------------
  309|  8.43k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (309:9): [True: 4.82k, False: 3.61k]
  ------------------
  310|  7.00k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (310:13): [True: 0, False: 7.00k]
  ------------------
  311|      0|            throwCantUnpack("bad e_shoff %#x", e_shoff);
  312|      0|        }
  313|  7.00k|    }
  314|  10.6k|    sz_phdrs = e_phnum * e_phentsize;
  315|  10.6k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf32_Ehdr) +
  316|  10.6k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
  317|       |
  318|  10.6k|    if (f && Elf32_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (318:9): [True: 10.6k, False: 0]
  |  Branch (318:14): [True: 8.83k, False: 1.78k]
  ------------------
  319|  8.83k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
  320|  8.83k|        alloc_file_image(file_image, len);
  321|  8.83k|        f->seek(0, SEEK_SET);
  322|  8.83k|        f->readx(file_image, len);
  323|  8.83k|        phdri= (Elf32_Phdr       *)(e_phoff + file_image);  // do not free() !!
  324|  8.83k|    }
  325|  10.6k|    if (f && Elf32_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (325:9): [True: 10.6k, False: 0]
  |  Branch (325:14): [True: 1.78k, False: 8.83k]
  ------------------
  326|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
  327|  1.78k|        alloc_file_image(file_image, file_size);
  328|  1.78k|        f->seek(0, SEEK_SET);
  329|  1.78k|        f->readx(file_image, file_size);
  330|  1.78k|        phdri= (Elf32_Phdr *)(e_phoff + file_image);  // do not free() !!
  331|  1.78k|        if (opt->cmd != CMD_COMPRESS || !e_shoff ||  file_size < e_shoff) {
  ------------------
  |  Branch (331:13): [True: 1.78k, False: 0]
  |  Branch (331:41): [True: 0, False: 0]
  |  Branch (331:54): [True: 0, False: 0]
  ------------------
  332|  1.78k|            shdri = nullptr;
  333|  1.78k|        }
  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|  1.78k|        sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM);
  343|  1.78k|        if (sec_dynsym) {
  ------------------
  |  Branch (343:13): [True: 0, False: 1.78k]
  ------------------
  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|  1.78k|        Elf32_Phdr const *phdr= phdri;
  351|  19.1k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (351:31): [True: 17.3k, False: 1.78k]
  ------------------
  352|  17.3k|        if (Elf32_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (352:13): [True: 1.35k, False: 16.0k]
  ------------------
  353|  1.35k|            unsigned offset = check_pt_dynamic(phdr);
  354|  1.35k|            dynseg= (Elf32_Dyn *)(offset + file_image);
  355|  1.35k|            invert_pt_dynamic(dynseg,
  356|  1.35k|                umin(get_te32(&phdr->p_filesz), (unsigned)(file_size_u - offset)));
  357|  1.35k|        }
  358|  16.0k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (358:18): [True: 1.48k, False: 14.5k]
  ------------------
  359|  1.48k|            check_pt_load(phdr);
  360|  1.48k|        }
  361|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
  362|  1.78k|        dynstr =          (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB);
  363|  1.78k|        dynsym = (Elf32_Sym /*const*/ *)elf_find_dynamic(Elf32_Dyn::DT_SYMTAB);
  364|  1.78k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
  365|  1.78k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
  366|  1.78k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (366:13): [True: 3, False: 1.78k]
  ------------------
  367|      3|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
  368|      3|        }
  369|  1.78k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (369:13): [True: 0, False: 1.78k]
  ------------------
  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|  1.78k|    }
  377|  10.6k|}
_ZN14PackLinuxElf3220elf_find_Phdr_for_vaEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
  457|  4.39k|{
  458|  21.6k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (458:26): [True: 21.5k, False: 130]
  ------------------
  459|  21.5k|        u32_t align = get_te32(&phdr->p_align);
  460|  21.5k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (460:13): [True: 6.38k, False: 15.1k]
  ------------------
  461|  6.38k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (461:12): [True: 6.04k, False: 334]
  |  Branch (461:30): [True: 5.82k, False: 226]
  ------------------
  462|  6.04k|            (get_te32(&phdr->p_vaddr) ^ get_te32(&phdr->p_offset)))
  463|  5.82k|        &&  (addr - get_te32(&phdr->p_vaddr)) < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (463:13): [True: 4.26k, False: 1.55k]
  ------------------
  464|  4.26k|            return phdr;
  465|  4.26k|        }
  466|  21.5k|    }
  467|    130|    return nullptr;
  468|  4.39k|}
_ZN14PackLinuxElf6420elf_find_Phdr_for_vaEyPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
  472|  3.55k|{
  473|  18.8k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (473:26): [True: 18.6k, False: 125]
  ------------------
  474|  18.6k|        u64_t align = get_te64(&phdr->p_align);
  475|  18.6k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (475:13): [True: 5.39k, False: 13.2k]
  ------------------
  476|  5.39k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (476:12): [True: 4.11k, False: 1.28k]
  |  Branch (476:30): [True: 3.81k, False: 300]
  ------------------
  477|  4.11k|            (get_te64(&phdr->p_vaddr) ^ get_te64(&phdr->p_offset)))
  478|  3.81k|        &&  (addr - get_te64(&phdr->p_vaddr)) < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (478:13): [True: 3.43k, False: 385]
  ------------------
  479|  3.43k|            return phdr;
  480|  3.43k|        }
  481|  18.6k|    }
  482|    125|    return nullptr;
  483|  3.55k|}
_ZN14PackLinuxElf32C2EP9InputFile:
 1035|  94.5k|    : super(f), phdri(nullptr), shdri(nullptr),
 1036|  94.5k|    n_phdrx(0), sz_phdrx(0),
 1037|  94.5k|    page_mask(~0u<<lg2_page),
 1038|  94.5k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1039|  94.5k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1040|  94.5k|    jni_onload_sym(nullptr),
 1041|  94.5k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1042|  94.5k|    , sec_arm_attr(nullptr)
 1043|  94.5k|{
 1044|  94.5k|    memset(&ehdri, 0, sizeof(ehdri));
 1045|  94.5k|    n_jmp_slot = 0;
 1046|  94.5k|    if (f) {
  ------------------
  |  Branch (1046:9): [True: 94.5k, False: 0]
  ------------------
 1047|       |        f->seek(0, SEEK_SET);
 1048|  94.5k|        f->readx(&ehdri, sizeof(ehdri));
 1049|  94.5k|    }
 1050|  94.5k|}
_ZN14PackLinuxElf64C2EP9InputFile:
 1065|  42.2k|    : super(f), phdri(nullptr), shdri(nullptr),
 1066|  42.2k|    n_phdrx(0), sz_phdrx(0),
 1067|  42.2k|    page_mask(~0ull<<lg2_page),
 1068|  42.2k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1069|  42.2k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1070|  42.2k|    jni_onload_sym(nullptr),
 1071|  42.2k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1072|  42.2k|    , sec_arm_attr(nullptr)
 1073|  42.2k|{
 1074|  42.2k|    memset(&ehdri, 0, sizeof(ehdri));
 1075|  42.2k|    n_jmp_slot = 0;
 1076|  42.2k|    if (f) {
  ------------------
  |  Branch (1076:9): [True: 42.2k, False: 0]
  ------------------
 1077|       |        f->seek(0, SEEK_SET);
 1078|  42.2k|        f->readx(&ehdri, sizeof(ehdri));
 1079|  42.2k|    }
 1080|  42.2k|}
_ZN14PackLinuxElf6419PackLinuxElf64help1EP9InputFile:
 1097|  42.3k|{
 1098|  42.3k|    e_type  = get_te16(&ehdri.e_type);
 1099|  42.3k|    e_phnum = get_te16(&ehdri.e_phnum);
 1100|  42.3k|    e_shnum = get_te16(&ehdri.e_shnum);
 1101|  42.3k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
 1102|  42.3k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (1102:9): [True: 22.9k, False: 19.4k]
  ------------------
 1103|  19.4k|    || ehdri.e_ident[Elf64_Ehdr::EI_CLASS]!=Elf64_Ehdr::ELFCLASS64
  ------------------
  |  Branch (1103:8): [True: 11.1k, False: 8.33k]
  ------------------
 1104|  8.33k|    || sizeof(Elf64_Phdr) != e_phentsize
  ------------------
  |  Branch (1104:8): [True: 4.62k, False: 3.71k]
  ------------------
 1105|  3.71k|    || (Elf64_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1105:9): [True: 425, False: 3.28k]
  ------------------
 1106|    425|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (1106:16): [True: 4, False: 421]
  ------------------
 1107|  3.70k|    || (Elf64_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1107:9): [True: 2.74k, False: 963]
  ------------------
 1108|  38.6k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (1108:16): [True: 2, False: 2.74k]
  ------------------
 1109|  38.6k|        e_phoff = 0;
 1110|  38.6k|        e_shoff = 0;
 1111|  38.6k|        sz_phdrs = 0;
 1112|  38.6k|        return;
 1113|  38.6k|    }
 1114|  3.70k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (1114:9): [True: 1, False: 3.70k]
  ------------------
 1115|  3.70k|    e_phoff = get_te64(&ehdri.e_phoff);
 1116|  3.70k|    upx_uint64_t const last_Phdr = e_phoff + e_phnum * sizeof(Elf64_Phdr);
 1117|  3.70k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (1117:9): [True: 4, False: 3.69k]
  ------------------
 1118|  3.69k|    ||  e_phoff != sizeof(Elf64_Ehdr)  // must be contiguous
  ------------------
  |  Branch (1118:9): [True: 84, False: 3.61k]
  ------------------
 1119|  3.61k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (1119:9): [True: 18, False: 3.59k]
  ------------------
 1120|    106|        throwCantUnpack("bad e_phoff %p", (void *)e_phoff);
 1121|    106|    }
 1122|  3.59k|    e_shoff = get_te64(&ehdri.e_shoff);
 1123|  3.59k|    upx_uint64_t const last_Shdr = e_shoff + e_shnum * sizeof(Elf64_Shdr);
 1124|  3.59k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (1124:9): [True: 58, False: 3.53k]
  ------------------
 1125|  3.53k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (1125:10): [True: 2.28k, False: 1.25k]
  |  Branch (1125:21): [True: 107, False: 2.17k]
  ------------------
 1126|  3.43k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (1126:9): [True: 3.01k, False: 416]
  ------------------
 1127|  3.18k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1127:13): [True: 0, False: 3.18k]
  ------------------
 1128|      0|            throwCantUnpack("bad e_shoff %p", (void *)e_shoff);
 1129|      0|        }
 1130|  3.18k|    }
 1131|  3.59k|    sz_phdrs = e_phnum * e_phentsize;
 1132|  3.59k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf64_Ehdr) +
 1133|  3.59k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
 1134|       |
 1135|  3.59k|    if (f && Elf64_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (1135:9): [True: 3.59k, False: 0]
  |  Branch (1135:14): [True: 1.65k, False: 1.94k]
  ------------------
 1136|  1.65k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
 1137|  1.65k|        alloc_file_image(file_image, len);
 1138|  1.65k|        f->seek(0, SEEK_SET);
 1139|  1.65k|        f->readx(file_image, len);
 1140|  1.65k|        phdri= (Elf64_Phdr       *)(e_phoff + file_image);  // do not free() !!
 1141|  1.65k|    }
 1142|  3.59k|    if (f && Elf64_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (1142:9): [True: 3.59k, False: 0]
  |  Branch (1142:14): [True: 1.94k, False: 1.65k]
  ------------------
 1143|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
 1144|  1.94k|        alloc_file_image(file_image, file_size);
 1145|  1.94k|        f->seek(0, SEEK_SET);
 1146|  1.94k|        f->readx(file_image, file_size);
 1147|  1.94k|        phdri= (file_size <= (unsigned)e_phoff) ? nullptr : (Elf64_Phdr *)(e_phoff + file_image);  // do not free() !!
  ------------------
  |  Branch (1147:16): [True: 0, False: 1.94k]
  ------------------
 1148|  1.94k|        if (!(opt->cmd == CMD_COMPRESS && e_shoff < (upx_uint64_t)file_size && mb_shdr.getSize() == 0)) {
  ------------------
  |  Branch (1148:15): [True: 0, False: 1.94k]
  |  Branch (1148:43): [True: 0, False: 0]
  |  Branch (1148:80): [True: 0, False: 0]
  ------------------
 1149|  1.94k|            shdri = nullptr;
 1150|  1.94k|        }
 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|  1.94k|        sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM);
 1161|  1.94k|        if (sec_dynsym) {
  ------------------
  |  Branch (1161:13): [True: 0, False: 1.94k]
  ------------------
 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|  1.94k|        Elf64_Phdr const *phdr= phdri;
 1169|  10.1k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (1169:31): [True: 8.17k, False: 1.94k]
  ------------------
 1170|  8.17k|        if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (1170:13): [True: 1.62k, False: 6.54k]
  ------------------
 1171|  1.62k|            upx_uint64_t offset = check_pt_dynamic(phdr);
 1172|  1.62k|            dynseg= (Elf64_Dyn *)(offset + file_image);
 1173|  1.62k|            invert_pt_dynamic(dynseg,
 1174|  1.62k|                umin(get_te64(&phdr->p_filesz), file_size_u - offset));
 1175|  1.62k|        }
 1176|  6.54k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (1176:18): [True: 1.15k, False: 5.39k]
  ------------------
 1177|  1.15k|            check_pt_load(phdr);
 1178|  1.15k|        }
 1179|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
 1180|  1.94k|        dynstr =          (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB);
 1181|  1.94k|        dynsym = (Elf64_Sym /*const*/ *)elf_find_dynamic(Elf64_Dyn::DT_SYMTAB);
 1182|  1.94k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 1183|  1.94k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 1184|  1.94k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (1184:13): [True: 4, False: 1.94k]
  ------------------
 1185|      4|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
 1186|      4|        }
 1187|  1.94k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1187:13): [True: 0, False: 1.94k]
  ------------------
 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|  1.94k|    }
 1195|  3.59k|}
_ZN17PackLinuxElf32ppcC2EP9InputFile:
 1343|  8.16k|    : super(f)
 1344|  8.16k|{
 1345|  8.16k|    e_machine = Elf32_Ehdr::EM_PPC;
 1346|  8.16k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 1347|  8.16k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 1348|  8.16k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1349|  8.16k|}
_ZN17PackLinuxElf32ppcD2Ev:
 1352|  8.16k|{
 1353|  8.16k|}
_ZN19PackLinuxElf64ppcleC2EP9InputFile:
 1361|  6.62k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1362|  6.62k|{
 1363|  6.62k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1364|  6.62k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1365|  6.62k|    ei_data   = Elf64_Ehdr::ELFDATA2LSB;
 1366|  6.62k|    ei_osabi  = Elf64_Ehdr::ELFOSABI_LINUX;
 1367|  6.62k|}
_ZN17PackLinuxElf64ppcC2EP9InputFile:
 1370|  6.99k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1371|  6.99k|{
 1372|  6.99k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1373|  6.99k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1374|  6.99k|    ei_data   = Elf64_Ehdr::ELFDATA2MSB;
 1375|  6.99k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1376|  6.99k|}
_ZN19PackLinuxElf64ppcleD2Ev:
 1379|  6.62k|{
 1380|  6.62k|}
_ZN17PackLinuxElf64ppcD2Ev:
 1383|  6.64k|{
 1384|  6.64k|}
_ZN17PackLinuxElf64amdC2EP9InputFile:
 1397|  12.2k|    : super(f)
 1398|  12.2k|{
 1399|       |    // Why did PackLinuxElf64Le set lg2_page = 16 ?
 1400|       |    // It causes trouble for check_pt_dynamic() from canPack().
 1401|  12.2k|    lg2_page = 12;  page_size = 1u<<lg2_page;
 1402|  12.2k|    e_machine = Elf64_Ehdr::EM_X86_64;
 1403|  12.2k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1404|  12.2k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1405|  12.2k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1406|  12.2k|}
_ZN17PackLinuxElf64armC2EP9InputFile:
 1409|  8.21k|     : super(f)
 1410|  8.21k| {
 1411|  8.21k|    e_machine = Elf64_Ehdr::EM_AARCH64;
 1412|  8.21k|     ei_class = Elf64_Ehdr::ELFCLASS64;
 1413|  8.21k|     ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1414|  8.21k|     ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1415|  8.21k| }
_ZN21PackLinuxElf64riscv64C2EP9InputFile:
 1418|  8.18k|    : super(f)
 1419|  8.18k|{
 1420|  8.18k|    e_machine = Elf64_Ehdr::EM_RISCV;
 1421|  8.18k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1422|  8.18k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1423|  8.18k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1424|  8.18k|}
_ZN17PackLinuxElf64amdD2Ev:
 1427|  11.0k|{
 1428|  11.0k|}
_ZN17PackLinuxElf64armD2Ev:
 1431|  8.21k|{
 1432|  8.21k|}
_ZN21PackLinuxElf64riscv64D2Ev:
 1435|  8.18k|{
 1436|  8.18k|}
_ZN14PackLinuxElf3217sort_DT32_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
 2352|  1.10k|{
 2353|  1.10k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 2354|  1.10k|    mb_dt_offsets.clear();
 2355|  1.10k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 2356|  1.10k|    unsigned n_off = 0, k;
 2357|  13.8k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (2357:24): [True: 12.8k, False: 1.03k]
  ------------------
 2358|  12.8k|        dt_offsets[n_off] = 0;  // default to "not found"
 2359|  12.8k|        u32_t rva = 0;
 2360|  12.8k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (2360:13): [True: 8.50k, False: 4.34k]
  ------------------
 2361|  8.50k|            if (!dt_table[k]) {
  ------------------
  |  Branch (2361:17): [True: 5.82k, False: 2.68k]
  ------------------
 2362|  5.82k|                continue;  // not present in input
 2363|  5.82k|            }
 2364|  2.68k|            rva = get_te32(&dynp0[-1+ dt_table[k]].d_val);
 2365|  2.68k|        }
 2366|  4.34k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (2366:18): [True: 4.34k, False: 0]
  ------------------
 2367|  4.34k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 2368|  4.34k|        }
 2369|  7.02k|        if (!rva) {
  ------------------
  |  Branch (2369:13): [True: 4.02k, False: 3.00k]
  ------------------
 2370|  4.02k|            continue;  // not present in input
 2371|  4.02k|        }
 2372|  3.00k|        Elf32_Phdr const *phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 2373|  3.00k|        if (!phdr) {
  ------------------
  |  Branch (2373:13): [True: 48, False: 2.95k]
  ------------------
 2374|     48|            char msg[60]; snprintf(msg, sizeof(msg), "bad  DT_{%#x} = %#x (no Phdr)",
  ------------------
  |  |   75|     48|#define snprintf  upx_safe_snprintf
  ------------------
 2375|     48|                k, rva);
 2376|     48|            throwCantPack(msg);
 2377|     48|        }
 2378|  2.95k|        dt_offsets[n_off] = (rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 2379|       |
 2380|  2.95k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (2380:13): [True: 23, False: 2.93k]
  ------------------
 2381|     23|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     23|#define snprintf  upx_safe_snprintf
  ------------------
 2382|     23|                k, dt_offsets[n_off]);
 2383|     23|                throwCantPack(msg);
 2384|     23|        }
 2385|  2.93k|        n_off += !!dt_offsets[n_off];
 2386|  2.93k|    }
 2387|  1.03k|    dt_offsets[n_off++] = file_size;  // sentinel
 2388|  1.03k|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  245|  1.03k|#define upx_qsort ::qsort
  ------------------
 2389|  1.03k|}
_ZN14PackLinuxElf3211find_dt_ndxEj:
 2392|  1.30k|{
 2393|  1.30k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 2394|  1.30k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 2395|  3.26k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (2395:26): [True: 3.26k, False: 0]
  |  Branch (2395:42): [True: 3.14k, False: 122]
  ------------------
 2396|  3.14k|        if (rva == dto[j]) {
  ------------------
  |  Branch (2396:13): [True: 1.18k, False: 1.95k]
  ------------------
 2397|  1.18k|            return j;
 2398|  1.18k|        }
 2399|  3.14k|    }
 2400|    122|    return ~0u;
 2401|  1.30k|}
_ZN14PackLinuxElf3219elf_find_table_sizeEjj:
 2404|  1.63k|{
 2405|  1.63k|    Elf32_Shdr const *sec = elf_find_section_type(sh_type);
 2406|  1.63k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (2406:9): [True: 0, False: 1.63k]
  ------------------
 2407|      0|        return get_te32(&sec->sh_size);
 2408|      0|    }
 2409|       |    // Honest hard work: use _Phdr
 2410|  1.63k|    unsigned x_rva;
 2411|  1.63k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (2411:9): [True: 1.23k, False: 397]
  ------------------
 2412|  1.23k|        unsigned const x_ndx = dt_table[dt_type];
 2413|  1.23k|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (2413:13): [True: 241, False: 994]
  ------------------
 2414|    241|            return 0;
 2415|    241|        }
 2416|    994|        x_rva = get_te32(&dynseg[-1+ x_ndx].d_val);
 2417|    994|    }
 2418|    397|    else {
 2419|    397|        x_rva = elf_unsigned_dynamic(dt_type);
 2420|    397|    }
 2421|  1.39k|    Elf32_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 2422|  1.39k|    if (!x_phdr)
  ------------------
  |  Branch (2422:9): [True: 82, False: 1.30k]
  ------------------
 2423|     82|        return ~0u;  // corrupted Phdrs?
 2424|  1.30k|    unsigned const           d_off =             x_rva - get_te32(&x_phdr->p_vaddr);
 2425|  1.30k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te32(&x_phdr->p_offset));
 2426|  1.30k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (2426:9): [True: 1.18k, False: 122]
  ------------------
 2427|  1.18k|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 2428|  1.18k|    }
 2429|    122|    return ~0u;
 2430|  1.30k|}
_ZN14PackLinuxElf3217invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEEj:
 2434|  1.27k|{
 2435|  1.27k|    if (dt_table[Elf32_Dyn::DT_NULL]) {
  ------------------
  |  Branch (2435:9): [True: 124, False: 1.15k]
  ------------------
 2436|    124|        return;  // not 1st time; do not change upx_dt_init
 2437|    124|    }
 2438|  1.15k|    Elf32_Dyn const *const dynp0 = dynp;
 2439|  1.15k|    unsigned ndx = 0;
 2440|  1.15k|    unsigned const limit = headway / sizeof(*dynp);
 2441|  1.15k|    if (dynp)
  ------------------
  |  Branch (2441:9): [True: 1.15k, False: 0]
  ------------------
 2442|  21.7k|    for (; ; ++ndx, ++dynp) {
 2443|  21.7k|        if (limit <= ndx) {
  ------------------
  |  Branch (2443:13): [True: 15, False: 21.7k]
  ------------------
 2444|     15|            throwCantPack("DT_NULL not found");
 2445|     15|        }
 2446|  21.7k|        u32_t const d_tag = get_te32(&dynp->d_tag);
 2447|  21.7k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (2447:13): [True: 7.49k, False: 14.2k]
  ------------------
 2448|  7.49k|            if (Elf32_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (2448:17): [True: 6.99k, False: 498]
  ------------------
 2449|  6.99k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (2449:17): [True: 176, False: 6.81k]
  ------------------
 2450|    176|            &&    get_te32(&dynp->d_val)
  ------------------
  |  Branch (2450:19): [True: 33, False: 143]
  ------------------
 2451|    176|               != get_te32(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 2452|     33|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 2453|     33|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 2454|     33|            }
 2455|  7.46k|            dt_table[d_tag] = 1+ ndx;
 2456|  7.46k|        }
 2457|  21.6k|        if (Elf32_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (2457:13): [True: 1.10k, False: 20.5k]
  ------------------
 2458|  1.10k|            break;  // check here so that dt_table[DT_NULL] is set
 2459|  1.10k|        }
 2460|  21.6k|    }
 2461|  1.10k|    sort_DT32_offsets(dynp0);
 2462|       |
 2463|  1.10k|    upx_dt_init = 0;
 2464|  1.10k|         if (dt_table[Elf32_Dyn::DT_INIT])          upx_dt_init = Elf32_Dyn::DT_INIT;
  ------------------
  |  Branch (2464:14): [True: 111, False: 995]
  ------------------
 2465|    995|    else if (dt_table[Elf32_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf32_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (2465:14): [True: 18, False: 977]
  ------------------
 2466|    977|    else if (dt_table[Elf32_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf32_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (2466:14): [True: 63, False: 914]
  ------------------
 2467|       |
 2468|  1.10k|    unsigned const z_str = dt_table[Elf32_Dyn::DT_STRSZ];
 2469|  1.10k|    strtab_max = !z_str ? 0 : get_te32(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (2469:18): [True: 77, False: 1.02k]
  ------------------
 2470|  1.10k|    unsigned const z_tab = dt_table[Elf32_Dyn::DT_STRTAB];
 2471|  1.10k|    unsigned const tmp1 = !z_tab ? 0 : get_te32(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (2471:27): [True: 35, False: 1.07k]
  ------------------
 2472|  1.10k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (2472:9): [True: 41, False: 1.06k]
  ------------------
 2473|     41|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 2474|     41|    }
 2475|  1.06k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (2475:33): [True: 0, False: 1.06k]
  ------------------
 2476|       |
 2477|  1.06k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (2477:9): [True: 116, False: 949]
  |  Branch (2477:19): [True: 0, False: 949]
  |  Branch (2477:29): [True: 1, False: 948]
  ------------------
 2478|    948|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (2478:8): [True: 63, False: 885]
  ------------------
 2479|       |        // last string in table must have terminating NUL
 2480|    885|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (2480:9): [True: 14, False: 871]
  ------------------
 2481|  1.06k|    ) {
 2482|     95|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 2483|     95|    }
 2484|       |
 2485|    970|    { // Find end of DT_SYMTAB
 2486|    970|        unsigned const tmp2 = elf_find_table_size(Elf32_Dyn::DT_SYMTAB,
 2487|    970|            Elf32_Shdr::SHT_DYNSYM);
 2488|    970|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf32_Sym);
  ------------------
  |  Branch (2488:22): [True: 135, False: 835]
  ------------------
 2489|    970|    }
 2490|       |
 2491|    970|    unsigned v_sym = dt_table[Elf32_Dyn::DT_SYMTAB];
 2492|    970|    if (v_sym) {
  ------------------
  |  Branch (2492:9): [True: 630, False: 340]
  ------------------
 2493|    630|        v_sym = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_sym].d_val));
 2494|    630|    }
 2495|    970|    unsigned v_hsh = dt_table[Elf32_Dyn::DT_HASH];
 2496|    970|    if (v_hsh) {
  ------------------
  |  Branch (2496:9): [True: 458, False: 512]
  ------------------
 2497|    458|        v_hsh = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_hsh].d_val));
 2498|    458|    }
 2499|    970|    if (v_hsh && file_image) {
  ------------------
  |  Branch (2499:9): [True: 405, False: 565]
  |  Branch (2499:18): [True: 405, False: 0]
  ------------------
 2500|    405|        hashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
 2501|    405|        if (!hashtab) {
  ------------------
  |  Branch (2501:13): [True: 41, False: 364]
  ------------------
 2502|     41|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2503|     41|        }
 2504|       |        // Find end of DT_HASH
 2505|    364|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 2506|    364|            Elf32_Dyn::DT_HASH, Elf32_Shdr::SHT_HASH) + (char const *)hashtab);
 2507|    364|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (2507:13): [True: 0, False: 364]
  |  Branch (2507:25): [True: 5, False: 359]
  ------------------
 2508|    359|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2508:13): [True: 1, False: 358]
  ------------------
 2509|    359|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 2510|      6|        {
 2511|      6|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2512|      6|        }
 2513|       |
 2514|    358|        unsigned const nbucket = get_te32(&hashtab[0]);
 2515|    358|        unsigned const *const buckets = &hashtab[2];
 2516|    358|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 2517|    358|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (2517:13): [True: 41, False: 317]
  ------------------
 2518|    358|                <= sizeof(unsigned)*nbucket ) {
 2519|     41|            throwCantPack("bad nbucket %#x\n", nbucket);
 2520|     41|        }
 2521|       |
 2522|    317|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (2522:13): [True: 2, False: 315]
  ------------------
 2523|    315|        || !v_sym || (unsigned)file_size <= v_sym
  ------------------
  |  Branch (2523:12): [True: 3, False: 312]
  |  Branch (2523:22): [True: 5, False: 307]
  ------------------
 2524|    307|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (2524:13): [True: 236, False: 71]
  |  Branch (2524:32): [True: 3, False: 233]
  ------------------
 2525|    317|        ) {
 2526|     13|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2527|     13|                nbucket, (v_sym - v_hsh));
 2528|     13|        }
 2529|    304|        unsigned chmax = 0;
 2530|  8.96k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (2530:29): [True: 8.66k, False: 304]
  ------------------
 2531|  8.66k|            unsigned x = get_te32(&buckets[j]);
 2532|  8.66k|            if (chmax < x) {
  ------------------
  |  Branch (2532:17): [True: 933, False: 7.72k]
  ------------------
 2533|    933|                chmax = x;
 2534|    933|            }
 2535|  8.66k|        }
 2536|    304|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (2536:13): [True: 233, False: 71]
  |  Branch (2536:32): [True: 43, False: 190]
  ------------------
 2537|    233|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 2538|     43|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2539|     43|                nbucket, (v_sym - v_hsh));
 2540|     43|        }
 2541|    304|    }
 2542|    826|    unsigned const v_gsh = elf_unsigned_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2543|    826|    if (v_gsh && file_image) {
  ------------------
  |  Branch (2543:9): [True: 397, False: 429]
  |  Branch (2543:18): [True: 397, False: 0]
  ------------------
 2544|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 2545|    397|        gashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2546|    397|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 2547|    397|            Elf32_Dyn::DT_GNU_HASH, Elf32_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 2548|    397|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (2548:13): [True: 2, False: 395]
  |  Branch (2548:25): [True: 3, False: 392]
  ------------------
 2549|    392|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2549:13): [True: 2, False: 390]
  ------------------
 2550|    392|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 2551|      7|        {
 2552|      7|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 2553|      7|        }
 2554|       |
 2555|    390|        unsigned const n_bucket = get_te32(&gashtab[0]);
 2556|    390|        unsigned const symbias  = get_te32(&gashtab[1]);
 2557|    390|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 2558|    390|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 2559|    390|        u32_t const *const bitmask = (u32_t const *)(void const *)&gashtab[4];
 2560|    390|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 2561|    390|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 2562|    390|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (2562:13): [True: 3, False: 387]
  |  Branch (2562:26): [True: 38, False: 349]
  ------------------
 2563|    349|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (2563:12): [True: 14, False: 335]
  ------------------
 2564|    335|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (2564:12): [True: 61, False: 274]
  ------------------
 2565|    116|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 2566|    116|        }
 2567|       |        // It would be better to detect zeroes shifted into low 5 bits of:
 2568|       |        //    (037 & (hash_32 >> gnu_shift))
 2569|       |        // but compilers can be stupid.
 2570|    274|        if (31 < gnu_shift) {
  ------------------
  |  Branch (2570:13): [True: 25, False: 249]
  ------------------
 2571|     25|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 2572|     25|        }
 2573|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 2574|       |        // minimum, except:
 2575|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 2576|    249|        unsigned bmax = 0;
 2577|  3.07k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (2577:29): [True: 2.82k, False: 246]
  ------------------
 2578|  2.82k|            unsigned bj = get_te32(&buckets[j]);
 2579|  2.82k|            if (bj) {
  ------------------
  |  Branch (2579:17): [True: 1.87k, False: 950]
  ------------------
 2580|  1.87k|                if (bj < symbias) {
  ------------------
  |  Branch (2580:21): [True: 3, False: 1.87k]
  ------------------
 2581|      3|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 2582|      3|                        bj, symbias);
 2583|      3|                }
 2584|  1.87k|                if (bmax < bj) {
  ------------------
  |  Branch (2584:21): [True: 740, False: 1.13k]
  ------------------
 2585|    740|                    bmax = bj;
 2586|    740|                }
 2587|  1.87k|            }
 2588|  2.82k|        }
 2589|    246|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (2589:13): [True: 91, False: 155]
  |  Branch (2589:29): [True: 43, False: 48]
  ------------------
 2590|     43|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (2590:13): [True: 33, False: 10]
  |  Branch (2590:29): [True: 21, False: 12]
  ------------------
 2591|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 2592|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 2593|       |            // https://github.com/upx/upx/issues/525
 2594|     21|        } else
 2595|    225|        if (bmax) {
  ------------------
  |  Branch (2595:13): [True: 199, False: 26]
  ------------------
 2596|    199|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (2596:17): [True: 1, False: 198]
  ------------------
 2597|      1|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 2598|      1|                    1+ bmax, symbias);
 2599|      1|            }
 2600|    198|            bmax -= symbias;
 2601|    198|        }
 2602|       |
 2603|    245|        unsigned r = 0;
 2604|    245|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (2604:13): [True: 0, False: 245]
  |  Branch (2604:26): [True: 32, False: 213]
  |  Branch (2604:40): [True: 4, False: 209]
  ------------------
 2605|    209|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (2605:12): [True: 2, False: 207]
  ------------------
 2606|    207|        || (r=2, (8*sizeof(u32_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (2606:12): [True: 0, False: 207]
  ------------------
 2607|    207|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (2607:12): [True: 0, False: 207]
  ------------------
 2608|    207|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (2608:12): [True: 0, False: 207]
  ------------------
 2609|    207|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (2609:12): [True: 2, False: 205]
  ------------------
 2610|    207|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 2611|    205|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (2611:12): [True: 52, False: 153]
  |  Branch (2611:19): [True: 184, False: 21]
  |  Branch (2611:38): [True: 52, False: 132]
  ------------------
 2612|    184|                + sizeof(*bitmask)*n_bitmask  // bitmask
 2613|    184|                + sizeof(*buckets)*n_bucket  // buckets
 2614|    184|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (2614:37): [True: 93, False: 91]
  ------------------
 2615|    184|            )) )
 2616|    245|        ) {
 2617|     92|            char msg[90]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     92|#define snprintf  upx_safe_snprintf
  ------------------
 2618|     92|                "bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 2619|     92|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 2620|     92|            throwCantPack(msg);
 2621|     92|        }
 2622|    245|    }
 2623|    582|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 2624|    582|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (2624:9): [True: 59, False: 523]
  ------------------
 2625|     59|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (2625:11): [True: 41, False: 18]
  |  Branch (2625:25): [True: 37, False: 4]
  ------------------
 2626|     22|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     22|#define snprintf  upx_safe_snprintf
  ------------------
 2627|     22|            "bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 2628|     22|        throwCantPack(msg);
 2629|     22|    }
 2630|    582|}
_ZN14PackLinuxElf3214elf_find_ptypeEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
 2634|  2.47k|{
 2635|  18.7k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2635:26): [True: 16.4k, False: 2.31k]
  ------------------
 2636|  16.4k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2636:13): [True: 163, False: 16.3k]
  ------------------
 2637|    163|            return phdr;
 2638|    163|        }
 2639|  16.4k|    }
 2640|  2.31k|    return nullptr;
 2641|  2.47k|}
_ZN14PackLinuxElf6414elf_find_ptypeEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
 2645|    953|{
 2646|  6.17k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2646:26): [True: 5.57k, False: 602]
  ------------------
 2647|  5.57k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2647:13): [True: 351, False: 5.22k]
  ------------------
 2648|    351|            return phdr;
 2649|    351|        }
 2650|  5.57k|    }
 2651|    602|    return nullptr;
 2652|    953|}
_ZNK14PackLinuxElf3221elf_find_section_typeEj:
 2707|  3.41k|{
 2708|  3.41k|    Elf32_Shdr *shdr = shdri;
 2709|  3.41k|    if (!shdr) {
  ------------------
  |  Branch (2709:9): [True: 3.41k, False: 0]
  ------------------
 2710|  3.41k|        return nullptr;
 2711|  3.41k|    }
 2712|      0|    int j = e_shnum;
 2713|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2713:12): [True: 0, False: 0]
  ------------------
 2714|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2714:13): [True: 0, False: 0]
  ------------------
 2715|      0|            return shdr;
 2716|      0|        }
 2717|      0|    }
 2718|      0|    return nullptr;
 2719|      0|}
_ZNK14PackLinuxElf6421elf_find_section_typeEj:
 2724|  3.34k|{
 2725|  3.34k|    Elf64_Shdr *shdr = shdri;
 2726|  3.34k|    if (!shdr) {
  ------------------
  |  Branch (2726:9): [True: 3.34k, False: 0]
  ------------------
 2727|  3.34k|        return nullptr;
 2728|  3.34k|    }
 2729|      0|    int j = e_shnum;
 2730|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2730:12): [True: 0, False: 0]
  ------------------
 2731|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2731:13): [True: 0, False: 0]
  ------------------
 2732|      0|            return shdr;
 2733|      0|        }
 2734|      0|    }
 2735|      0|    return nullptr;
 2736|      0|}
_ZN14PackLinuxElf329canUnpackEv:
 2819|  93.2k|{
 2820|  93.2k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (2820:9): [True: 86.5k, False: 6.67k]
  ------------------
 2821|  86.5k|        return false;
 2822|  86.5k|    }
 2823|  6.67k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (2823:9): [True: 5, False: 6.67k]
  ------------------
 2824|      5|        throwCantUnpack("e_phnum must be >= 2");
 2825|      5|    }
 2826|  6.67k|    if (Elf32_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (2826:9): [True: 217, False: 6.45k]
  ------------------
 2827|    217|        PackLinuxElf32help1(fi);
 2828|    217|    }
 2829|  6.67k|    if (super::canUnpack()) {
  ------------------
  |  Branch (2829:9): [True: 2.76k, False: 3.91k]
  ------------------
 2830|  2.76k|        return true;
 2831|  2.76k|    }
 2832|  3.91k|    return false;
 2833|  6.67k|}
_ZN14PackLinuxElf649canUnpackEv:
 3543|  40.7k|{
 3544|  40.7k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (3544:9): [True: 39.3k, False: 1.37k]
  ------------------
 3545|  39.3k|        return false;
 3546|  39.3k|    }
 3547|  1.37k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (3547:9): [True: 2, False: 1.37k]
  ------------------
 3548|      2|        throwCantUnpack("e_phnum must be >= 2");
 3549|      2|    }
 3550|  1.37k|    if (Elf64_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (3550:9): [True: 109, False: 1.26k]
  ------------------
 3551|    109|        PackLinuxElf64help1(fi);
 3552|    109|    }
 3553|  1.37k|    if (super::canUnpack()) {
  ------------------
  |  Branch (3553:9): [True: 1.20k, False: 164]
  ------------------
 3554|  1.20k|        return true;
 3555|  1.20k|    }
 3556|    164|    return false;
 3557|  1.37k|}
_ZN14PackLinuxElf3213find_LOAD_gapEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEjj:
 5504|  1.04k|{
 5505|  1.04k|    if (!is_LOAD(&phdr[k]) || 0 == get_te32(&phdr[k].p_filesz)) {
  ------------------
  |  Branch (5505:9): [True: 907, False: 139]
  |  Branch (5505:31): [True: 0, False: 139]
  ------------------
 5506|    907|        return 0;
 5507|    907|    }
 5508|    139|    unsigned const hi = get_te32(&phdr[k].p_offset) +
 5509|    139|                        get_te32(&phdr[k].p_filesz);
 5510|    139|    unsigned lo = ph.u_file_size;
 5511|    139|    if (lo < hi)
  ------------------
  |  Branch (5511:9): [True: 1, False: 138]
  ------------------
 5512|      1|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5513|    138|    unsigned j = k;
 5514|    779|    for (;;) { // circular search, optimize for adjacent ascending
 5515|    779|        ++j;
 5516|    779|        if (nph==j) {
  ------------------
  |  Branch (5516:13): [True: 122, False: 657]
  ------------------
 5517|    122|            j = 0;
 5518|    122|        }
 5519|    779|        if (k==j) {
  ------------------
  |  Branch (5519:13): [True: 122, False: 657]
  ------------------
 5520|    122|            break;
 5521|    122|        }
 5522|    657|        if (is_LOAD(&phdr[j]) && 0 != get_te32(&phdr[j].p_filesz)) {
  ------------------
  |  Branch (5522:13): [True: 166, False: 491]
  |  Branch (5522:34): [True: 166, False: 0]
  ------------------
 5523|    166|            unsigned const t = get_te32(&phdr[j].p_offset);
 5524|    166|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5524:17): [True: 82, False: 84]
  ------------------
 5525|     82|                lo = t;
 5526|     82|                if (hi==lo) {
  ------------------
  |  Branch (5526:21): [True: 16, False: 66]
  ------------------
 5527|     16|                    break;
 5528|     16|                }
 5529|     82|            }
 5530|    166|        }
 5531|    657|    }
 5532|    138|    return lo - hi;
 5533|    139|}
_ZN14PackLinuxElf6413find_LOAD_gapEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEjj:
 5882|  1.74k|{
 5883|  1.74k|    if (!is_LOAD(&phdr[k]) || 0 == get_te64(&phdr[k].p_filesz)) {
  ------------------
  |  Branch (5883:9): [True: 1.63k, False: 105]
  |  Branch (5883:31): [True: 0, False: 105]
  ------------------
 5884|  1.63k|        return 0;
 5885|  1.63k|    }
 5886|    105|    unsigned const hi = get_te64(&phdr[k].p_offset) +
 5887|    105|                        get_te64(&phdr[k].p_filesz);
 5888|    105|    unsigned lo = ph.u_file_size;
 5889|    105|    if (lo < hi)
  ------------------
  |  Branch (5889:9): [True: 0, False: 105]
  ------------------
 5890|      0|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5891|    105|    unsigned j = k;
 5892|    756|    for (;;) { // circular search, optimize for adjacent ascending
 5893|    756|        ++j;
 5894|    756|        if (nph==j) {
  ------------------
  |  Branch (5894:13): [True: 102, False: 654]
  ------------------
 5895|    102|            j = 0;
 5896|    102|        }
 5897|    756|        if (k==j) {
  ------------------
  |  Branch (5897:13): [True: 102, False: 654]
  ------------------
 5898|    102|            break;
 5899|    102|        }
 5900|    654|        if (is_LOAD(&phdr[j]) && 0 != get_te64(&phdr[j].p_filesz)) {
  ------------------
  |  Branch (5900:13): [True: 183, False: 471]
  |  Branch (5900:34): [True: 183, False: 0]
  ------------------
 5901|    183|            unsigned const t = get_te64(&phdr[j].p_offset);
 5902|    183|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5902:17): [True: 79, False: 104]
  ------------------
 5903|     79|                lo = t;
 5904|     79|                if (hi==lo) {
  ------------------
  |  Branch (5904:21): [True: 3, False: 76]
  ------------------
 5905|      3|                    break;
 5906|      3|                }
 5907|     79|            }
 5908|    183|        }
 5909|    654|    }
 5910|    105|    return lo - hi;
 5911|    105|}
_ZN14PackLinuxElf6410un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7099|    351|{
 7100|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7101|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7102|    351|    unsigned yct_off = xct_off;
 7103|       |
 7104|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7105|    351|    fi->seek(0, SEEK_SET);
 7106|    351|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7107|       |
 7108|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7109|       |    // This used to be the result of --android-shlib.
 7110|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7111|       |    // takes care of this, so the 5th word before e_entry does not
 7112|       |    // have the low bit 1, so is_asl should not be set.
 7113|       |    // However, .so that were compressed before 2023-03
 7114|       |    // may be marked.
 7115|    351|    e_shoff = get_te64(&ehdri.e_shoff);
 7116|    351|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7116:9): [True: 324, False: 27]
  |  Branch (7116:20): [True: 306, False: 18]
  ------------------
 7117|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7118|       |            //    after Shdrs for ARM_ATTRIBUTES
 7119|    306|    &&  (((e_shoff + sizeof(Elf64_Shdr) * e_shnum) + 36) < file_size_u)
  ------------------
  |  Branch (7119:9): [True: 112, False: 194]
  ------------------
 7120|    351|    ) { // possible --android-shlib
 7121|    112|        unsigned x = get_te32(&file_image[get_te64(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7122|    112|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7122:13): [True: 2, False: 110]
  ------------------
 7123|      2|            is_asl = 1;
 7124|      2|            fi->seek(e_shoff, SEEK_SET);
 7125|      2|            mb_shdr.alloc(   sizeof(Elf64_Shdr) * e_shnum);
 7126|      2|            shdri = (Elf64_Shdr *)mb_shdr.getVoidPtr();
 7127|      2|            fi->readx(shdri, sizeof(Elf64_Shdr) * e_shnum);
 7128|      2|            yct_off = get_te64(&shdri->sh_offset);  // for the output file (de-compressed)
 7129|      2|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7130|      2|        }
 7131|    112|    }
 7132|       |
 7133|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7134|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7135|       |    // In old style, the first compressed Extent is redundant
 7136|       |    // except for the compressed original Elf headers.
 7137|       |    // New style covers just Elf headers: the rest below xct_off is
 7138|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7139|       |    // New style puts eXecutable app code in second PT_LOAD
 7140|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7141|    351|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7142|    351|    struct {
 7143|    351|        struct l_info l;
 7144|    351|        struct p_info p;
 7145|    351|        struct b_info b;
 7146|    351|    } hdr;
 7147|    351|    fi->readx(&hdr, sizeof(hdr));
 7148|    351|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  553|    702|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7148:9): [True: 108, False: 243]
  ------------------
 7149|    243|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7149:9): [True: 0, False: 243]
  ------------------
 7150|    243|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7150:9): [True: 135, False: 108]
  ------------------
 7151|    108|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7151:9): [True: 1, False: 107]
  ------------------
 7152|    351|    ) {
 7153|    136|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7154|    136|    }
 7155|    215|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7156|       |
 7157|       |// The default layout for a shared library created by binutils-2.29
 7158|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7159|       |// xct_off (the lowest address of executable instructions;
 7160|       |// the highest address of read-only data used by rtld (ld-linux))
 7161|       |// will be somewhere in the first PT_LOAD.
 7162|       |//
 7163|       |// The default layout for a shared library created by binutils-2.31
 7164|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7165|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7166|       |//
 7167|       |// Bytes below xct_off cannot be compressed because they are used
 7168|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7169|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7170|       |// because they may be relocated by rtld, again before stub execution.
 7171|       |//
 7172|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7173|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7174|       |// the first compressed block.  For an old-style shared library
 7175|       |// the first compressed block covers [0, xct_off) which is redundant
 7176|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7177|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7178|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7179|       |// will just decompress it all.  For new style, the first compressed
 7180|       |// block covers [0, sz_elf_hdrs).
 7181|       |
 7182|       |    // Peek: unpack into ibuf, but do not write
 7183|    215|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7184|    215|        c_adler, u_adler, false, -1);
 7185|    215|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7185:9): [True: 0, False: 215]
  ------------------
 7186|      0|        throwCantUnpack("corrupt b_info");
 7187|      0|    }
 7188|    215|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7189|    215|    Elf64_Ehdr const *const ehdro = (Elf64_Ehdr const *)(void const *)o_elfhdrs;
 7190|    215|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7190:9): [True: 122, False: 93]
  ------------------
 7191|     93|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7191:9): [True: 0, False: 93]
  ------------------
 7192|     93|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7192:9): [True: 0, False: 93]
  ------------------
 7193|       |        // less strict for EM_PPC64 to workaround earlier bug
 7194|     93|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7194:12): [True: 89, False: 4]
  ------------------
 7195|      4|        || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7195:12): [True: 3, False: 1]
  ------------------
 7196|      1|        || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7196:12): [True: 0, False: 1]
  ------------------
 7197|     92|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7197:9): [True: 1, False: 91]
  ------------------
 7198|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7199|     91|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7199:9): [True: 2, False: 89]
  ------------------
 7200|     17|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7201|     17|    }
 7202|    198|    if (fo) {
  ------------------
  |  Branch (7202:9): [True: 89, False: 109]
  ------------------
 7203|     89|        fo->write(ibuf, sz_block1);
 7204|     89|        total_out = sz_block1;
 7205|     89|    }
 7206|    198|    Elf64_Phdr const *o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7207|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7208|    198|    unsigned not_first_LOAD = 0;
 7209|    379|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7209:26): [True: 182, False: 197]
  ------------------
 7210|    182|        unsigned type = get_te32(&o_phdr->p_type);
 7211|    182|        unsigned flags = get_te32(&o_phdr->p_flags);
 7212|    182|        if (PT_LOAD != type || Elf64_Phdr::PF_W & flags) {
  ------------------
  |  |   56|    182|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7212:13): [True: 160, False: 22]
  |  Branch (7212:32): [True: 4, False: 18]
  ------------------
 7213|    164|            continue;
 7214|    164|        }
 7215|     18|        unsigned p_offset = get_te64(&o_phdr->p_offset);
 7216|     18|        unsigned p_filesz = get_te64(&o_phdr->p_filesz);
 7217|     18|        unsigned wanted = p_filesz;
 7218|     18|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7218:13): [True: 17, False: 1]
  ------------------
 7219|     17|            wanted -= sz_block1;
 7220|     17|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7220:17): [True: 16, False: 1]
  ------------------
 7221|     16|                if (is_asl) {
  ------------------
  |  Branch (7221:21): [True: 0, False: 16]
  ------------------
 7222|      0|                    un_asl_dynsym(orig_file_size, fo);
 7223|      0|                }
 7224|     16|                p_offset += sz_block1;
 7225|     16|            }
 7226|     17|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7226:17): [True: 1, False: 16]
  ------------------
 7227|      1|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7227:39): [True: 1, False: 0]
  ------------------
 7228|      1|                unsigned const ipos = fi->tell();
 7229|      1|                if ((upx_uint64_t)sz_elf_hdrs + len > ibuf.getSize())
  ------------------
  |  Branch (7229:21): [True: 1, False: 0]
  ------------------
 7230|      1|                    throwCantUnpack("bad xct_off or yct_off");
 7231|      0|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7232|      0|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7233|      0|                if (is_asl) {
  ------------------
  |  Branch (7233:21): [True: 0, False: 0]
  ------------------
 7234|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7235|      0|                }
 7236|      0|                if (fo) {
  ------------------
  |  Branch (7236:21): [True: 0, False: 0]
  ------------------
 7237|      0|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7238|      0|                }
 7239|      0|                total_out += len;
 7240|       |
 7241|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7242|       |// But "yct_off = get_te64(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7243|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7244|       |// more than we need.
 7245|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7246|      0|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7246:21): [True: 0, False: 0]
  ------------------
 7247|      0|                    wanted = 0;
 7248|      0|                }
 7249|      0|                else {
 7250|      0|                    wanted -= len;
 7251|      0|                }
 7252|      0|                fi->seek(ipos, SEEK_SET);
 7253|      0|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7253:21): [True: 0, False: 0]
  ------------------
 7254|      0|                    continue;   // already entirely re-generated
 7255|      0|                }
 7256|      0|                p_offset = total_out;
 7257|      0|            }
 7258|     17|        }
 7259|     17|        if (fo) {
  ------------------
  |  Branch (7259:13): [True: 17, False: 0]
  ------------------
 7260|     17|            fo->seek(p_offset, SEEK_SET);
 7261|     17|        }
 7262|     17|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7263|     17|    }
 7264|    197|    funpad4(fi);
 7265|    197|    loader_offset = fi->tell();
 7266|       |
 7267|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7268|    197|    o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7269|    197|    Elf64_Phdr const *i_phdr = phdri;
 7270|    356|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7270:26): [True: 159, False: 197]
  ------------------
 7271|    159|        unsigned type = get_te32(&o_phdr->p_type);
 7272|    159|        unsigned flags = get_te32(&o_phdr->p_flags);
 7273|    159|        if (PT_LOAD != type || !(Elf64_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|    159|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7273:13): [True: 150, False: 9]
  |  Branch (7273:32): [True: 5, False: 4]
  ------------------
 7274|    155|            continue;
 7275|    155|        }
 7276|      4|        unsigned filesz = get_te64(&o_phdr->p_filesz);
 7277|      4|        unsigned o_offset = get_te64(&o_phdr->p_offset);
 7278|      4|        unsigned i_offset = get_te64(&i_phdr->p_offset);
 7279|      4|        fi->seek(i_offset, SEEK_SET);
 7280|      4|        fi->readx(ibuf, filesz);
 7281|      4|        total_in += filesz;
 7282|      4|        if (fo) {
  ------------------
  |  Branch (7282:13): [True: 4, False: 0]
  ------------------
 7283|      4|            fo->seek(o_offset, SEEK_SET);
 7284|      4|            fo->write(ibuf, filesz);
 7285|      4|        }
 7286|      4|        total_out = filesz + o_offset;  // high-water mark
 7287|      4|    }
 7288|       |
 7289|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7290|       |
 7291|       |    // position fi at loader offset
 7292|       |    fi->seek(loader_offset, SEEK_SET);
 7293|    197|}
_ZN14PackLinuxElf3210un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7302|    163|{
 7303|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7304|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7305|    163|    unsigned yct_off = xct_off;
 7306|       |
 7307|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7308|    163|    fi->seek(0, SEEK_SET);
 7309|    163|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7310|       |
 7311|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7312|       |    // This used to be the result of --android-shlib.
 7313|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7314|       |    // takes care of this, so the 5th word before e_entry does not
 7315|       |    // have the low bit 1, so is_asl should not be set.
 7316|       |    // However, .so that were compressed before 2023-03
 7317|       |    // may be marked.
 7318|    163|    e_shoff = get_te32(&ehdri.e_shoff);
 7319|    163|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7319:9): [True: 86, False: 77]
  |  Branch (7319:20): [True: 79, False: 7]
  ------------------
 7320|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7321|       |            //    after Shdrs for ARM_ATTRIBUTES
 7322|     79|    &&  (((e_shoff + sizeof(Elf32_Shdr) * e_shnum) + 36) < file_size_u32)
  ------------------
  |  Branch (7322:9): [True: 33, False: 46]
  ------------------
 7323|    163|    ) { // possible --android-shlib
 7324|     33|        unsigned x = get_te32(&file_image[get_te32(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7325|     33|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7325:13): [True: 1, False: 32]
  ------------------
 7326|      1|            is_asl = 1;
 7327|      1|            fi->seek(e_shoff, SEEK_SET);
 7328|      1|            mb_shdr.alloc(   sizeof(Elf32_Shdr) * e_shnum);
 7329|      1|            shdri = (Elf32_Shdr *)mb_shdr.getVoidPtr();
 7330|      1|            fi->readx(shdri, sizeof(Elf32_Shdr) * e_shnum);
 7331|      1|            yct_off = get_te32(&shdri->sh_offset);  // for the output file (de-compressed)
 7332|      1|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7333|      1|        }
 7334|     33|    }
 7335|       |
 7336|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7337|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7338|       |    // In old style, the first compressed Extent is redundant
 7339|       |    // except for the compressed original Elf headers.
 7340|       |    // New style covers just Elf headers: the rest below xct_off is
 7341|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7342|       |    // New style puts eXecutable app code in second PT_LOAD
 7343|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7344|    163|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7345|    163|    struct {
 7346|    163|        struct l_info l;
 7347|    163|        struct p_info p;
 7348|    163|        struct b_info b;
 7349|    163|    } hdr;
 7350|    163|    fi->readx(&hdr, sizeof(hdr));
 7351|    163|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  553|    326|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7351:9): [True: 31, False: 132]
  ------------------
 7352|    132|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7352:9): [True: 0, False: 132]
  ------------------
 7353|    132|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7353:9): [True: 41, False: 91]
  ------------------
 7354|     91|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7354:9): [True: 1, False: 90]
  ------------------
 7355|    163|    ) {
 7356|     42|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7357|     42|    }
 7358|    121|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7359|       |
 7360|       |// The default layout for a shared library created by binutils-2.29
 7361|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7362|       |// xct_off (the lowest address of executable instructions;
 7363|       |// the highest address of read-only data used by rtld (ld-linux))
 7364|       |// will be somewhere in the first PT_LOAD.
 7365|       |//
 7366|       |// The default layout for a shared library created by binutils-2.31
 7367|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7368|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7369|       |//
 7370|       |// Bytes below xct_off cannot be compressed because they are used
 7371|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7372|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7373|       |// because they may be relocated by rtld, again before stub execution.
 7374|       |//
 7375|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7376|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7377|       |// the first compressed block.  For an old-style shared library
 7378|       |// the first compressed block covers [0, xct_off) which is redundant
 7379|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7380|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7381|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7382|       |// will just decompress it all.  For new style, the first compressed
 7383|       |// block covers [0, sz_elf_hdrs).
 7384|       |
 7385|       |    // Peek: unpack into ibuf, but do not write
 7386|    121|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7387|    121|        c_adler, u_adler, false, -1);
 7388|    121|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7388:9): [True: 0, False: 121]
  ------------------
 7389|      0|        throwCantUnpack("corrupt b_info");
 7390|      0|    }
 7391|    121|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7392|    121|    Elf32_Ehdr const *const ehdro = (Elf32_Ehdr const *)(void const *)o_elfhdrs;
 7393|    121|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7393:9): [True: 36, False: 85]
  ------------------
 7394|     85|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7394:9): [True: 0, False: 85]
  ------------------
 7395|     85|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7395:9): [True: 0, False: 85]
  ------------------
 7396|       |        // less strict for EM_PPC to workaround earlier bug
 7397|     85|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7397:12): [True: 81, False: 4]
  ------------------
 7398|      4|        || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7398:12): [True: 1, False: 3]
  ------------------
 7399|     82|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7399:9): [True: 1, False: 81]
  ------------------
 7400|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7401|     81|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7401:9): [True: 2, False: 79]
  ------------------
 7402|      8|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7403|      8|    }
 7404|    113|    if (fo) {
  ------------------
  |  Branch (7404:9): [True: 79, False: 34]
  ------------------
 7405|     79|        fo->write(ibuf, sz_block1);
 7406|     79|        total_out = sz_block1;
 7407|     79|    }
 7408|    113|    Elf32_Phdr const *o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7409|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7410|    113|    unsigned not_first_LOAD = 0;
 7411|    286|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7411:26): [True: 174, False: 112]
  ------------------
 7412|    174|        unsigned type = get_te32(&o_phdr->p_type);
 7413|    174|        unsigned flags = get_te32(&o_phdr->p_flags);
 7414|    174|        if (PT_LOAD != type || Elf32_Phdr::PF_W & flags) {
  ------------------
  |  |   56|    174|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7414:13): [True: 136, False: 38]
  |  Branch (7414:32): [True: 8, False: 30]
  ------------------
 7415|    144|            continue;
 7416|    144|        }
 7417|     30|        unsigned p_offset = get_te32(&o_phdr->p_offset);
 7418|     30|        unsigned p_filesz = get_te32(&o_phdr->p_filesz);
 7419|     30|        unsigned wanted = p_filesz;
 7420|     30|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7420:13): [True: 29, False: 1]
  ------------------
 7421|     29|            wanted -= sz_block1;
 7422|     29|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7422:17): [True: 20, False: 9]
  ------------------
 7423|     20|                if (is_asl) {
  ------------------
  |  Branch (7423:21): [True: 0, False: 20]
  ------------------
 7424|      0|                    un_asl_dynsym(orig_file_size, fo);
 7425|      0|                }
 7426|     20|                p_offset += sz_block1;
 7427|     20|            }
 7428|     29|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7428:17): [True: 9, False: 20]
  ------------------
 7429|      9|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7429:39): [True: 9, False: 0]
  ------------------
 7430|      9|                unsigned const ipos = fi->tell();
 7431|      9|                if ((upx_uint64_t)sz_elf_hdrs + len > ibuf.getSize())
  ------------------
  |  Branch (7431:21): [True: 1, False: 8]
  ------------------
 7432|      1|                    throwCantUnpack("bad xct_off or yct_off");
 7433|      8|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7434|      8|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7435|      8|                if (is_asl) {
  ------------------
  |  Branch (7435:21): [True: 0, False: 8]
  ------------------
 7436|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7437|      0|                }
 7438|      8|                if (fo) {
  ------------------
  |  Branch (7438:21): [True: 8, False: 0]
  ------------------
 7439|      8|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7440|      8|                }
 7441|      8|                total_out += len;
 7442|       |
 7443|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7444|       |// But "yct_off = get_te32(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7445|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7446|       |// more than we need.
 7447|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7448|      8|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7448:21): [True: 0, False: 8]
  ------------------
 7449|      0|                    wanted = 0;
 7450|      0|                }
 7451|      8|                else {
 7452|      8|                    wanted -= len;
 7453|      8|                }
 7454|      8|                fi->seek(ipos, SEEK_SET);
 7455|      8|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7455:21): [True: 0, False: 8]
  ------------------
 7456|      0|                    continue;   // already entirely re-generated
 7457|      0|                }
 7458|      8|                p_offset = total_out;
 7459|      8|            }
 7460|     29|        }
 7461|     29|        if (fo) {
  ------------------
  |  Branch (7461:13): [True: 29, False: 0]
  ------------------
 7462|     29|            fo->seek(p_offset, SEEK_SET);
 7463|     29|        }
 7464|     29|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7465|     29|    }
 7466|    112|    funpad4(fi);
 7467|    112|    loader_offset = fi->tell();
 7468|       |
 7469|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7470|    112|    o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7471|    112|    Elf32_Phdr const *i_phdr = phdri;
 7472|    266|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7472:26): [True: 154, False: 112]
  ------------------
 7473|    154|        unsigned type = get_te32(&o_phdr->p_type);
 7474|    154|        unsigned flags = get_te32(&o_phdr->p_flags);
 7475|    154|        if (PT_LOAD != type || !(Elf32_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|    154|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7475:13): [True: 125, False: 29]
  |  Branch (7475:32): [True: 21, False: 8]
  ------------------
 7476|    146|            continue;
 7477|    146|        }
 7478|      8|        unsigned filesz = get_te32(&o_phdr->p_filesz);
 7479|      8|        unsigned o_offset = get_te32(&o_phdr->p_offset);
 7480|      8|        unsigned i_offset = get_te32(&i_phdr->p_offset);
 7481|      8|        fi->seek(i_offset, SEEK_SET);
 7482|      8|        fi->readx(ibuf, filesz);
 7483|      8|        total_in += filesz;
 7484|      8|        if (fo) {
  ------------------
  |  Branch (7484:13): [True: 6, False: 2]
  ------------------
 7485|      6|            fo->seek(o_offset, SEEK_SET);
 7486|      6|            fo->write(ibuf, filesz);
 7487|      6|        }
 7488|      8|        total_out = filesz + o_offset;  // high-water mark
 7489|      8|    }
 7490|       |
 7491|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7492|       |
 7493|       |    // position fi at loader offset
 7494|       |    fi->seek(loader_offset, SEEK_SET);
 7495|    112|}
_ZN14PackLinuxElf3210un_DT_INITEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEES9_P10OutputFile:
 7503|     22|{
 7504|       |    // DT_INIT must be restored.
 7505|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7506|     22|    unsigned n_plt = 0;
 7507|     22|    upx_uint32_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7508|     22|    upx_uint32_t dt_relsz(0), dt_rel(0);
 7509|     22|    upx_uint32_t const dyn_len = get_te32(&dynhdr->p_filesz);
 7510|     22|    upx_uint32_t const dyn_off = get_te32(&dynhdr->p_offset);
 7511|     22|    if (file_size_u32 < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7511:9): [True: 10, False: 12]
  ------------------
 7512|     10|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     10|#define snprintf  upx_safe_snprintf
  ------------------
 7513|     10|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7514|     10|        throwCantUnpack(msg);
 7515|     10|    }
 7516|     12|    fi->seek(dyn_off, SEEK_SET);
 7517|     12|    fi->readx(ibuf, dyn_len);
 7518|     12|    Elf32_Dyn *dyn = (Elf32_Dyn *)(void *)ibuf;
 7519|     12|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7520|     12|        umin(dyn_len, file_size_u32 - dyn_off));
 7521|     12|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7521:26): [True: 0, False: 12]
  ------------------
 7522|      0|        upx_uint32_t const tag = get_te32(&dyn->d_tag);
 7523|      0|        upx_uint32_t       val = get_te32(&dyn->d_val);
 7524|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7524:13): [True: 0, False: 0]
  |  Branch (7524:29): [True: 0, False: 0]
  ------------------
 7525|      0|        case Elf32_Dyn::DT_RELASZ:   { dt_relsz   = val; } break;
  ------------------
  |  Branch (7525:9): [True: 0, False: 0]
  ------------------
 7526|      0|        case Elf32_Dyn::DT_RELA:     { dt_rel     = val; } break;
  ------------------
  |  Branch (7526:9): [True: 0, False: 0]
  ------------------
 7527|      0|        case Elf32_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7527:9): [True: 0, False: 0]
  ------------------
 7528|      0|        case Elf32_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7528:9): [True: 0, False: 0]
  ------------------
 7529|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7530|      0|            if (is_asl) {
  ------------------
  |  Branch (7530:17): [True: 0, False: 0]
  ------------------
 7531|      0|                n_plt += 3;  // FIXME
 7532|      0|            }
 7533|      0|        };  break;
 7534|       |
 7535|      0|        case Elf32_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot; }
  ------------------
  |  Branch (7535:9): [True: 0, False: 0]
  ------------------
 7536|       |        // FALL THROUGH
 7537|      0|        case Elf32_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7537:9): [True: 0, False: 0]
  ------------------
 7538|      0|        case Elf32_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7538:9): [True: 0, False: 0]
  ------------------
 7539|      0|        case Elf32_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7539:9): [True: 0, False: 0]
  ------------------
 7540|      0|        case Elf32_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7540:9): [True: 0, False: 0]
  |  Branch (7540:38): [True: 0, False: 0]
  ------------------
 7541|      0|            set_te32(&dyn->d_val, val - asl_delta);
 7542|      0|        }; break;
 7543|      0|        } // end switch() on tag when is_asl
 7544|      0|        if (upx_dt_init == tag) {
  ------------------
  |  Branch (7544:13): [True: 0, False: 0]
  ------------------
 7545|      0|            if (Elf32_Dyn::DT_INIT == tag) { // the easy case
  ------------------
  |  Branch (7545:17): [True: 0, False: 0]
  ------------------
 7546|      0|                set_te32(&dyn->d_val, old_dtinit);
 7547|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7547:21): [True: 0, False: 0]
  ------------------
 7548|      0|                    dyn->d_tag = Elf32_Dyn::DT_NULL;
 7549|      0|                    dyn->d_val = 0;
 7550|      0|                }
 7551|      0|            }
 7552|       |            // Apparently the hard case is common for some Android IDEs.
 7553|      0|            else if (Elf32_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7553:22): [True: 0, False: 0]
  ------------------
 7554|      0|            ||       Elf32_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7554:22): [True: 0, False: 0]
  ------------------
 7555|       |                // 'val' is the RVA of the first slot, which is the slot that
 7556|       |                // the compressor changed to be the entry to the run-time stub.
 7557|      0|                Elf32_Dyn *dyn_null = elf_find_dynptr(Elf32_Dyn::DT_NULL);
 7558|      0|                if (!dyn_null)
  ------------------
  |  Branch (7558:21): [True: 0, False: 0]
  ------------------
 7559|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7560|      0|                Elf32_Rel *rp = (Elf32_Rel *)elf_find_dynamic(dyn_null->d_val);
 7561|      0|                dyn_null->d_val = 0;
 7562|      0|                if (rp) {
  ------------------
  |  Branch (7562:21): [True: 0, False: 0]
  ------------------
 7563|      0|                    if ((char *)rp + sizeof(Elf32_Rel) > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7563:25): [True: 0, False: 0]
  ------------------
 7564|      0|                        throwCantUnpack("bad DT_INIT_ARRAY relocation offset");
 7565|      0|                    if ((char *)&dynsym[1] > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7565:25): [True: 0, False: 0]
  ------------------
 7566|      0|                        throwCantUnpack("bad dynsym for DT_INIT_ARRAY");
 7567|       |                    // Compressor saved the original *rp in dynsym[0]
 7568|      0|                    Elf32_Rel *rp_unc = (Elf32_Rel *)&dynsym[0];  // pointer
 7569|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7570|       |
 7571|      0|                    unsigned e_entry = get_te32(&ehdri.e_entry);
 7572|      0|                    unsigned init_rva = get_te32(&file_image[e_entry - 3*sizeof(unsigned)]);
 7573|      0|                    unsigned arr_rva = get_te32(&rp_unc->r_offset);
 7574|      0|                    Elf32_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7575|      0|                    unsigned arr_off = (arr_rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 7576|       |
 7577|      0|                    rp_unc->r_offset = 0;    rp_unc->r_info = 0;
 7578|      0|                    if (fo)  {
  ------------------
  |  Branch (7578:25): [True: 0, False: 0]
  ------------------
 7579|      0|                        fo->seek(elf_unsigned_dynamic(Elf32_Dyn::DT_SYMTAB), SEEK_SET);
 7580|      0|                        fo->rewrite(rp_unc, sizeof(Elf32_Rel));  // clear dynsym[0]
 7581|       |
 7582|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7583|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7584|      0|                    }
 7585|       |
 7586|       |                    // Set arr[0] to the first user init routine.
 7587|      0|                    unsigned r_info = get_te32(&rp->r_info);
 7588|      0|                    unsigned r_type = ELF32_R_TYPE(r_info);
 7589|      0|                    unsigned word;
 7590|      0|                    if (Elf32_Ehdr::EM_ARM == e_machine) {
  ------------------
  |  Branch (7590:25): [True: 0, False: 0]
  ------------------
 7591|      0|                        if (R_ARM_RELATIVE == r_type) {
  ------------------
  |  Branch (7591:29): [True: 0, False: 0]
  ------------------
 7592|      0|                            set_te32(&word, init_rva);
 7593|      0|                        }
 7594|      0|                        else if (R_ARM_ABS32 == r_type) {
  ------------------
  |  Branch (7594:34): [True: 0, False: 0]
  ------------------
 7595|      0|                            word = 0;
 7596|      0|                        }
 7597|      0|                        else {
 7598|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7599|      0|                                r_type);
 7600|      0|                            throwCantUnpack(msg);
 7601|      0|                        }
 7602|      0|                    }
 7603|      0|                    else if (Elf32_Ehdr::EM_386 == e_machine) {
  ------------------
  |  Branch (7603:30): [True: 0, False: 0]
  ------------------
 7604|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7604:29): [True: 0, False: 0]
  ------------------
 7605|      0|                        }
 7606|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7606:34): [True: 0, False: 0]
  ------------------
 7607|      0|                        }
 7608|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7608:29): [True: 0, False: 0]
  ------------------
 7609|      0|                            set_te32(&word, init_rva);
 7610|      0|                        }
 7611|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7611:34): [True: 0, False: 0]
  ------------------
 7612|      0|                            word = 0;
 7613|      0|                        }
 7614|      0|                        else {
 7615|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7616|      0|                                r_type);
 7617|      0|                            throwCantUnpack(msg);
 7618|      0|                        }
 7619|      0|                    }
 7620|      0|                    if (fo) {
  ------------------
  |  Branch (7620:25): [True: 0, False: 0]
  ------------------
 7621|      0|                        fo->seek(arr_off, SEEK_SET);
 7622|      0|                        fo->rewrite(&word, sizeof(unsigned));
 7623|      0|                        fo->seek(0, SEEK_END);
 7624|      0|                    }
 7625|      0|                }
 7626|      0|            }
 7627|      0|        }
 7628|      0|    }
 7629|     12|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7629:9): [True: 0, False: 12]
  ------------------
 7630|      0|        upx_uint32_t dyn_offo = get_te32(&phdro[dynhdr - phdri].p_offset);
 7631|      0|        fo->seek(dyn_offo, SEEK_SET);
 7632|      0|        fo->rewrite(ibuf, dyn_len);
 7633|      0|    }
 7634|     12|    if (is_asl) {
  ------------------
  |  Branch (7634:9): [True: 0, False: 12]
  ------------------
 7635|      0|        MemBuffer ptload1;  // FIXME.  file_image has the whole file; ibuf is available
 7636|      0|        lowmem.alloc(xct_off);
 7637|      0|        fi->seek(0, SEEK_SET);
 7638|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7639|      0|        if (dt_relsz && dt_rel) {
  ------------------
  |  Branch (7639:13): [True: 0, False: 0]
  |  Branch (7639:25): [True: 0, False: 0]
  ------------------
 7640|      0|            Elf32_Rel *const rel0 = (Elf32_Rel *)lowmem.subref(
 7641|      0|                "bad Rel offset", dt_rel, dt_relsz);
 7642|      0|            unRel32(dt_rel, rel0, dt_relsz, ptload1, old_dtinit, fo);
 7643|      0|        }
 7644|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7644:13): [True: 0, False: 0]
  |  Branch (7644:28): [True: 0, False: 0]
  ------------------
 7645|      0|            Elf32_Rel *const jmp0 = (Elf32_Rel *)lowmem.subref(
 7646|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7647|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint32_t));
 7648|      0|            Elf32_Phdr const *phdr = phdri;
 7649|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7649:34): [True: 0, False: 0]
  |  Branch (7649:64): [True: 0, False: 0]
  ------------------
 7650|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7651|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7652|      0|                upx_uint32_t d = plt_va - vaddr;
 7653|      0|                if (d < filesz) {
  ------------------
  |  Branch (7653:21): [True: 0, False: 0]
  ------------------
 7654|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7655|      0|                    fi->seek(d + offset, SEEK_SET);
 7656|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint32_t));
 7657|      0|                    break;
 7658|      0|                }
 7659|      0|            }
 7660|      0|            unRel32(dt_jmprel, jmp0, dt_pltrelsz, ptload1, old_dtinit, fo);
 7661|       |
 7662|      0|            Elf32_Ehdr const *const o_ehdr = (Elf32_Ehdr const *)(void *)lowmem;
 7663|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7664|      0|            if (((1<<16) - sizeof(Elf32_Ehdr)) / sizeof(Elf32_Phdr) < o_phnum)
  ------------------
  |  Branch (7664:17): [True: 0, False: 0]
  ------------------
 7665|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7666|      0|            phdr = phdro;
 7667|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7667:34): [True: 0, False: 0]
  |  Branch (7667:64): [True: 0, False: 0]
  ------------------
 7668|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7669|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7670|      0|                upx_uint32_t d = plt_va - vaddr - asl_delta;
 7671|      0|                if (d < filesz) {
  ------------------
  |  Branch (7671:21): [True: 0, False: 0]
  ------------------
 7672|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7673|      0|                    if ((upx_uint32_t)file_size <= offset)
  ------------------
  |  Branch (7673:25): [True: 0, False: 0]
  ------------------
 7674|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7675|      0|                    if (fo) {
  ------------------
  |  Branch (7675:25): [True: 0, False: 0]
  ------------------
 7676|      0|                        fo->seek(d + offset, SEEK_SET);
 7677|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint32_t));
 7678|      0|                    }
 7679|      0|                    break;
 7680|      0|                }
 7681|      0|            }
 7682|      0|        }
 7683|       |        // Modified relocation tables are re-written by unRel32
 7684|      0|    }
 7685|     12|}
_ZN14PackLinuxElf6410un_DT_INITEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEESA_P10OutputFile:
 7693|     56|{
 7694|       |    // DT_INIT must be restored.
 7695|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7696|     56|    unsigned n_plt = 0;
 7697|     56|    upx_uint64_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7698|     56|    upx_uint64_t dt_relasz(0), dt_rela(0);
 7699|     56|    upx_uint64_t const dyn_len = get_te64(&dynhdr->p_filesz);
 7700|     56|    upx_uint64_t const dyn_off = get_te64(&dynhdr->p_offset);
 7701|     56|    if (file_size_u < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7701:9): [True: 51, False: 5]
  ------------------
 7702|     51|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     51|#define snprintf  upx_safe_snprintf
  ------------------
 7703|     51|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7704|     51|        throwCantUnpack(msg);
 7705|     51|    }
 7706|      5|    fi->seek(dyn_off, SEEK_SET);
 7707|      5|    fi->readx(ibuf, dyn_len);
 7708|      5|    Elf64_Dyn *dyn = (Elf64_Dyn *)(void *)ibuf;
 7709|      5|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7710|      5|        umin(dyn_len, file_size_u - dyn_off));
 7711|      5|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7711:26): [True: 0, False: 5]
  ------------------
 7712|      0|        upx_uint64_t const tag = get_te64(&dyn->d_tag);
 7713|      0|        upx_uint64_t       val = get_te64(&dyn->d_val);
 7714|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7714:13): [True: 0, False: 0]
  |  Branch (7714:29): [True: 0, False: 0]
  ------------------
 7715|      0|        case Elf64_Dyn::DT_RELASZ:   { dt_relasz   = val; } break;
  ------------------
  |  Branch (7715:9): [True: 0, False: 0]
  ------------------
 7716|      0|        case Elf64_Dyn::DT_RELA:     { dt_rela     = val; } break;
  ------------------
  |  Branch (7716:9): [True: 0, False: 0]
  ------------------
 7717|      0|        case Elf64_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7717:9): [True: 0, False: 0]
  ------------------
 7718|      0|        case Elf64_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7718:9): [True: 0, False: 0]
  ------------------
 7719|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7720|      0|            if (is_asl) {
  ------------------
  |  Branch (7720:17): [True: 0, False: 0]
  ------------------
 7721|      0|                n_plt += 3;  // FIXME
 7722|      0|            }
 7723|      0|        };  break;
 7724|       |
 7725|      0|        case Elf64_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot;}
  ------------------
  |  Branch (7725:9): [True: 0, False: 0]
  ------------------
 7726|       |        // FALL THROUGH
 7727|      0|        case Elf64_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7727:9): [True: 0, False: 0]
  ------------------
 7728|      0|        case Elf64_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7728:9): [True: 0, False: 0]
  ------------------
 7729|      0|        case Elf64_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7729:9): [True: 0, False: 0]
  ------------------
 7730|      0|        case Elf64_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7730:9): [True: 0, False: 0]
  |  Branch (7730:38): [True: 0, False: 0]
  ------------------
 7731|      0|            set_te64(&dyn->d_val, val - asl_delta);
 7732|      0|        }; break;
 7733|      0|        } // end switch() on tag when is_asl
 7734|      0|        if (upx_dt_init == tag) { // the easy case
  ------------------
  |  Branch (7734:13): [True: 0, False: 0]
  ------------------
 7735|      0|            if (Elf64_Dyn::DT_INIT == tag) {
  ------------------
  |  Branch (7735:17): [True: 0, False: 0]
  ------------------
 7736|      0|                set_te64(&dyn->d_val, old_dtinit);
 7737|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7737:21): [True: 0, False: 0]
  ------------------
 7738|      0|                    dyn->d_tag = Elf64_Dyn::DT_NULL;
 7739|      0|                    dyn->d_val = 0;
 7740|      0|                }
 7741|      0|            }
 7742|       |            // Apparently the hard case is common for some Android IDEs.
 7743|       |            // No DT_INIT; only DT_INIT_ARRAY.
 7744|      0|            else if (Elf64_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7744:22): [True: 0, False: 0]
  ------------------
 7745|      0|            ||       Elf64_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7745:22): [True: 0, False: 0]
  ------------------
 7746|       |                // 'val' is the RVA of the first slot, which is the slot that
 7747|       |                // the compressor changed to be the entry to the run-time stub.
 7748|      0|                Elf64_Dyn *dyn_null = elf_find_dynptr(Elf64_Dyn::DT_NULL);
 7749|      0|                if (!dyn_null)
  ------------------
  |  Branch (7749:21): [True: 0, False: 0]
  ------------------
 7750|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7751|      0|                Elf64_Rela *rp = (Elf64_Rela *)elf_find_dynamic(dyn_null->d_val);
 7752|      0|                dyn_null->d_val = 0;
 7753|      0|                if (rp) {
  ------------------
  |  Branch (7753:21): [True: 0, False: 0]
  ------------------
 7754|      0|                    if ((char *)rp + sizeof(Elf64_Rela) > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7754:25): [True: 0, False: 0]
  ------------------
 7755|      0|                        throwCantUnpack("bad DT_INIT_ARRAY relocation offset");
 7756|      0|                    if ((char *)&dynsym[1] > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7756:25): [True: 0, False: 0]
  ------------------
 7757|      0|                        throwCantUnpack("bad dynsym for DT_INIT_ARRAY");
 7758|       |                    // Compressor saved the original *rp in dynsym[0]
 7759|      0|                    Elf64_Rela *rp_unc = (Elf64_Rela *)&dynsym[0];  // pointer
 7760|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7761|      0|                    rp->r_addend = rp_unc->r_addend;
 7762|       |
 7763|      0|                    unsigned arr_rva = get_te64(&rp_unc->r_offset);
 7764|      0|                    Elf64_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7765|      0|                    unsigned arr_off = (arr_rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 7766|       |
 7767|      0|                    if (fo)  {
  ------------------
  |  Branch (7767:25): [True: 0, False: 0]
  ------------------
 7768|      0|                        memset(rp_unc, 0, sizeof(*rp_unc));
 7769|      0|                        fo->seek(elf_unsigned_dynamic(Elf64_Dyn::DT_SYMTAB), SEEK_SET);
 7770|      0|                        fo->rewrite(rp_unc, sizeof(Elf64_Rela));  // clear dynsym[0]
 7771|       |
 7772|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7773|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7774|       |
 7775|       |                        // Elf64_Rela overwrites; but put back original.
 7776|      0|                        fo->seek(arr_off, SEEK_SET);
 7777|      0|                        fo->rewrite(rp_unc, sizeof(u64_t));
 7778|       |
 7779|      0|                        fo->seek(0, SEEK_END);
 7780|      0|                    }
 7781|      0|                }
 7782|      0|            }
 7783|      0|        }
 7784|      0|    }
 7785|      5|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7785:9): [True: 0, False: 5]
  ------------------
 7786|      0|        upx_uint64_t dyn_offo = get_te64(&phdro[dynhdr - phdri].p_offset);
 7787|      0|        fo->seek(dyn_offo, SEEK_SET);
 7788|      0|        fo->rewrite(ibuf, dyn_len);
 7789|      0|    }
 7790|      5|    if (is_asl) {
  ------------------
  |  Branch (7790:9): [True: 0, False: 5]
  ------------------
 7791|      0|        lowmem.alloc(xct_off);
 7792|      0|        fi->seek(0, SEEK_SET);
 7793|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7794|      0|        if (dt_relasz && dt_rela) {
  ------------------
  |  Branch (7794:13): [True: 0, False: 0]
  |  Branch (7794:26): [True: 0, False: 0]
  ------------------
 7795|      0|            Elf64_Rela *const rela0 = (Elf64_Rela *)lowmem.subref(
 7796|      0|                "bad Rela offset", dt_rela, dt_relasz);
 7797|      0|            unRela64(dt_rela, rela0, dt_relasz, old_dtinit, fo);
 7798|      0|        }
 7799|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7799:13): [True: 0, False: 0]
  |  Branch (7799:28): [True: 0, False: 0]
  ------------------
 7800|      0|            Elf64_Rela *const jmp0 = (Elf64_Rela *)lowmem.subref(
 7801|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7802|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint64_t));
 7803|      0|            Elf64_Phdr const *phdr = phdri;
 7804|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7804:34): [True: 0, False: 0]
  |  Branch (7804:64): [True: 0, False: 0]
  ------------------
 7805|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7806|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7807|      0|                upx_uint64_t d = plt_va - vaddr;
 7808|      0|                if (d < filesz) {
  ------------------
  |  Branch (7808:21): [True: 0, False: 0]
  ------------------
 7809|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7810|      0|                    fi->seek(d + offset, SEEK_SET);
 7811|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint64_t));
 7812|      0|                    break;
 7813|      0|                }
 7814|      0|            }
 7815|      0|            unRela64(dt_jmprel, jmp0, dt_pltrelsz, old_dtinit, fo);
 7816|       |
 7817|      0|            Elf64_Ehdr const *const o_ehdr = (Elf64_Ehdr const *)(void *)lowmem;
 7818|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7819|      0|            if (((1<<16) - sizeof(Elf64_Ehdr)) / sizeof(Elf64_Phdr) < o_phnum)
  ------------------
  |  Branch (7819:17): [True: 0, False: 0]
  ------------------
 7820|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7821|      0|            phdr = phdro;
 7822|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7822:34): [True: 0, False: 0]
  |  Branch (7822:64): [True: 0, False: 0]
  ------------------
 7823|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7824|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7825|      0|                upx_uint64_t d = plt_va - vaddr - asl_delta;
 7826|      0|                if (d < filesz) {
  ------------------
  |  Branch (7826:21): [True: 0, False: 0]
  ------------------
 7827|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7828|      0|                    if ((upx_uint64_t)file_size <= offset)
  ------------------
  |  Branch (7828:25): [True: 0, False: 0]
  ------------------
 7829|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7830|      0|                    if (fo) {
  ------------------
  |  Branch (7830:25): [True: 0, False: 0]
  ------------------
 7831|      0|                        fo->seek(d + offset, SEEK_SET);
 7832|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint64_t));
 7833|      0|                    }
 7834|      0|                    break;
 7835|      0|                }
 7836|      0|            }
 7837|      0|        }
 7838|       |        // Modified relocation tables are re-written by unRela64
 7839|      0|    }
 7840|      5|}
_ZN14PackLinuxElf646unpackEP10OutputFile:
 7843|  1.20k|{
 7844|  1.20k|    if (e_phoff != sizeof(Elf64_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (7844:9): [True: 0, False: 1.20k]
  ------------------
 7845|      0|        throwCantUnpack("bad e_phoff");
 7846|      0|    }
 7847|  1.20k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 7848|  1.20k|    unsigned u_phnum = 0;
 7849|  1.20k|    upx_uint64_t old_dtinit = 0;
 7850|       |
 7851|  1.20k|    if (Elf64_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (7851:9): [True: 1.18k, False: 20]
  ------------------
 7852|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 7853|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 7854|  1.18k|        if (ph.version <= 11
  ------------------
  |  Branch (7854:13): [True: 58, False: 1.12k]
  ------------------
 7855|     58|        &&  get_te64(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (7855:13): [True: 4, False: 54]
  ------------------
 7856|      4|        &&  get_te16(&ehdri.e_machine)==Elf64_Ehdr::EM_X86_64) {
  ------------------
  |  Branch (7856:13): [True: 4, False: 0]
  ------------------
 7857|       |            // old style, 8-byte b_info:
 7858|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 7859|      4|            szb_info = 2*sizeof(unsigned);
 7860|      4|        }
 7861|  1.18k|    }
 7862|       |
 7863|  1.20k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7864|  1.20k|    fi->readx(&linfo, sizeof(linfo));
 7865|  1.20k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  553|  1.20k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7865:9): [True: 154, False: 1.05k]
  ------------------
 7866|    154|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 7867|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 7868|    154|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (7868:13): [True: 83, False: 71]
  |  Branch (7868:25): [True: 39, False: 44]
  |  Branch (7868:37): [True: 11, False: 28]
  ------------------
 7869|     11|            fi->readx(&linfo, sizeof(linfo));
 7870|     11|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  553|     11|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7870:17): [True: 1, False: 10]
  ------------------
 7871|      1|                overlay_offset += sizeof(linfo);
 7872|      1|            }
 7873|     10|            else {
 7874|     10|                throwCantUnpack("l_info corrupted");
 7875|     10|            }
 7876|     11|        }
 7877|    143|        else {
 7878|    143|            throwCantUnpack("l_info corrupted");
 7879|    143|        }
 7880|    154|    }
 7881|  1.05k|    lsize = get_te16(&linfo.l_lsize);
 7882|  1.05k|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 7883|  1.05k|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 7884|  1.05k|    blocksize = get_te32(&hbuf.p_blocksize);
 7885|  1.05k|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (7885:9): [True: 3, False: 1.05k]
  |  Branch (7885:46): [True: 18, False: 1.03k]
  ------------------
 7886|  1.03k|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (7886:12): [True: 37, False: 996]
  ------------------
 7887|    996|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (7887:17): [True: 0, False: 996]
  ------------------
 7888|    996|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (7888:12): [True: 0, False: 996]
  ------------------
 7889|     56|        throwCantUnpack("p_info corrupted");
 7890|       |
 7891|    998|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 7892|    998|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 7893|    998|    fi->readx(&bhdr, szb_info);
 7894|    998|    ph.u_len = get_te32(&bhdr.sz_unc);
 7895|    998|    ph.c_len = get_te32(&bhdr.sz_cpr);
 7896|    998|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 7897|    998|    if (ph.c_len > file_size_u || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (7897:9): [True: 16, False: 982]
  |  Branch (7897:35): [True: 1, False: 981]
  |  Branch (7897:52): [True: 1, False: 980]
  ------------------
 7898|    980|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (7898:9): [True: 27, False: 953]
  ------------------
 7899|     39|        throwCantUnpack("b_info corrupted");
 7900|    959|    ph.filter_cto = bhdr.b_cto8;
 7901|    959|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7902|       |
 7903|    959|    MemBuffer u(ph.u_len);
 7904|    959|    Elf64_Ehdr *const ehdr = (Elf64_Ehdr *)&u[0];
 7905|    959|    Elf64_Phdr const *phdr = nullptr;
 7906|    959|    total_in = 0;
 7907|    959|    total_out = 0;
 7908|    959|    unsigned c_adler = upx_adler32(nullptr, 0);
 7909|    959|    unsigned u_adler = upx_adler32(nullptr, 0);
 7910|       |
 7911|    959|    unsigned is_shlib = 0;
 7912|    959|    loader_offset = 0;
 7913|    959|    MemBuffer o_elfhdrs;
 7914|    959|    Elf64_Phdr const *const dynhdr = elf_find_ptype(Elf64_Phdr::PT_DYNAMIC, phdri, c_phnum);
 7915|       |    // dynseg was set by PackLinuxElf64help1
 7916|    959|    if (dynhdr && !(Elf64_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf64_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (7916:9): [True: 351, False: 608]
  |  Branch (7916:19): [True: 351, False: 0]
  ------------------
 7917|       |        // Packed shlib? (ET_DYN without -fPIE)
 7918|    351|        is_shlib = 1;
 7919|    351|        xct_off = overlay_offset - sizeof(l_info);
 7920|    351|        u_phnum = get_te16(&ehdri.e_phnum);
 7921|    351|        o_elfhdrs.alloc(sz_elf_hdrs);
 7922|    351|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 7923|    351|        *ehdr = ehdri;
 7924|    351|    }
 7925|    608|    else { // main executable
 7926|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 7927|    608|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (7927:13): [True: 1, False: 607]
  ------------------
 7928|      1|            throwCompressedDataViolation();
 7929|       |
 7930|    607|        fi->readx(ibuf, ph.c_len);
 7931|       |        // "clickhouse" ET_EXEC for amd64 has 0x200000 <= .e_entry
 7932|       |        // instead of 0x400000 that we checked earlier.
 7933|    607|        if (8 == szb_info
  ------------------
  |  Branch (7933:13): [True: 0, False: 607]
  ------------------
 7934|      0|        &&  Elf64_Ehdr::EM_X86_64 == e_machine
  ------------------
  |  Branch (7934:13): [True: 0, False: 0]
  ------------------
 7935|      0|        &&  Elf64_Ehdr::ET_EXEC   == e_type
  ------------------
  |  Branch (7935:13): [True: 0, False: 0]
  ------------------
 7936|      0|        &&  ph.u_len <= MAX_ELF_HDR_64
  ------------------
  |  |    6|      0|#define MAX_ELF_HDR_64 4096
  ------------------
  |  Branch (7936:13): [True: 0, False: 0]
  ------------------
 7937|    607|        ) {
 7938|      0|            unsigned b_method = ibuf[0];
 7939|      0|            unsigned b_extra  = ibuf[3];
 7940|      0|            if (M_ZSTD >= b_method && 0 == b_extra) {
  ------------------
  |  |  647|      0|#define M_ZSTD        16 // NOT YET USED
  ------------------
  |  Branch (7940:17): [True: 0, False: 0]
  |  Branch (7940:39): [True: 0, False: 0]
  ------------------
 7941|      0|                unsigned where = fi->seek( -(upx_off_t)(ph.c_len + szb_info), SEEK_CUR);
 7942|      0|                szb_info = 12;
 7943|      0|                fi->readx(&bhdr, szb_info);
 7944|      0|                ph.filter_cto = bhdr.b_cto8;
 7945|      0|                ph.set_method(bhdr.b_method, where);
 7946|      0|                prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7947|      0|                fi->readx(ibuf, ph.c_len);
 7948|      0|            }
 7949|      0|        }
 7950|    607|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (7950:13): [True: 2, False: 605]
  ------------------
 7951|      2|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7952|    605|        decompress(ibuf, (upx_byte *)ehdr, false);
 7953|    605|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7953:13): [True: 189, False: 416]
  ------------------
 7954|    416|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7954:13): [True: 1, False: 415]
  ------------------
 7955|    415|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (7955:13): [True: 1, False: 414]
  ------------------
 7956|       |            // less strict for EM_PPC64 to workaround earlier bug
 7957|    414|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7957:16): [True: 401, False: 13]
  ------------------
 7958|     13|            || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7958:16): [True: 3, False: 10]
  ------------------
 7959|     10|            || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7959:16): [True: 0, False: 10]
  ------------------
 7960|    404|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7960:13): [True: 3, False: 401]
  ------------------
 7961|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7962|    401|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7962:13): [True: 3, False: 398]
  ------------------
 7963|     19|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7964|     19|        }
 7965|       |        // Rewind: prepare for data phase
 7966|    586|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 7967|       |
 7968|    586|        u_phnum = get_te16(&ehdr->e_phnum);
 7969|    586|        if ((umin((unsigned)MAX_ELF_HDR_64, ph.u_len) - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
  ------------------
  |  |    6|    586|#define MAX_ELF_HDR_64 4096
  ------------------
  |  Branch (7969:13): [True: 1, False: 585]
  ------------------
 7970|      1|            throwCantUnpack("bad compressed e_phnum");
 7971|      1|        }
 7972|    585|        o_elfhdrs.alloc(sizeof(Elf64_Ehdr) + u_phnum * sizeof(Elf64_Phdr));
 7973|    585|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 7974|       |
 7975|       |        // Decompress each PT_LOAD.
 7976|    585|        bool first_PF_X = true;
 7977|    585|        phdr = (Elf64_Phdr *) (void *) (1+ ehdr);  // uncompressed
 7978|  2.59k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (7978:28): [True: 2.01k, False: 585]
  ------------------
 7979|  2.01k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7979:17): [True: 178, False: 1.83k]
  ------------------
 7980|    178|                unsigned const filesz = get_te64(&phdr->p_filesz);
 7981|    178|                unsigned const offset = get_te64(&phdr->p_offset);
 7982|    178|                if (fo) {
  ------------------
  |  Branch (7982:21): [True: 178, False: 0]
  ------------------
 7983|    178|                    fo->seek(offset, SEEK_SET);
 7984|    178|                    if (total_out < offset) {
  ------------------
  |  Branch (7984:25): [True: 91, False: 87]
  ------------------
 7985|     91|                        total_out = offset;  // FIXME: can it be re-write?
 7986|     91|                    }
 7987|    178|                }
 7988|    178|                if (Elf64_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (7988:21): [True: 83, False: 95]
  ------------------
 7989|     83|                    unpackExtent(filesz, fo,
 7990|     83|                        c_adler, u_adler, first_PF_X);
 7991|     83|                    first_PF_X = false;
 7992|     83|                }
 7993|     95|                else {
 7994|     95|                    unpackExtent(filesz, fo,
 7995|     95|                        c_adler, u_adler, false);
 7996|     95|                }
 7997|    178|            }
 7998|  2.01k|        }
 7999|    585|    }
 8000|       |
 8001|    936|    upx_uint64_t const e_entry = get_te64(&ehdri.e_entry);
 8002|    936|    unsigned off_entry = 0;
 8003|    936|    phdr = phdri;
 8004|    936|    load_va = 0;
 8005|  3.61k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (8005:24): [True: 2.89k, False: 721]
  ------------------
 8006|  2.89k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8006:13): [True: 458, False: 2.43k]
  ------------------
 8007|    458|            upx_uint64_t offset = get_te64(&phdr->p_offset);
 8008|    458|            upx_uint64_t vaddr  = get_te64(&phdr->p_vaddr);
 8009|    458|            upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 8010|    458|            if (!load_va) {
  ------------------
  |  Branch (8010:17): [True: 284, False: 174]
  ------------------
 8011|    284|                load_va = vaddr;
 8012|    284|            }
 8013|    458|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (8013:17): [True: 215, False: 243]
  ------------------
 8014|    215|                off_entry = (e_entry - vaddr) + offset;
 8015|    215|                break;
 8016|    215|            }
 8017|    458|        }
 8018|  2.89k|    }
 8019|    936|    unsigned d_info[6];
 8020|    936|    unsigned sz_d_info = sizeof(d_info);
 8021|    936|    if (!is_shlib) {
  ------------------
  |  Branch (8021:9): [True: 367, False: 569]
  ------------------
 8022|    367|        if (get_te32(&phdri[0].p_flags) & Elf64_Phdr::PF_X) {
  ------------------
  |  Branch (8022:13): [True: 99, False: 268]
  ------------------
 8023|       |            // Old style, such as upx-3.91 thru upx-3.95
 8024|     99|            switch (this->e_machine) {
 8025|      0|                default: {
  ------------------
  |  Branch (8025:17): [True: 0, False: 99]
  ------------------
 8026|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 8027|      0|                        "Unknown architecture %d", this->e_machine);
 8028|      0|                    throwCantUnpack(msg);
 8029|      0|                }; break;
 8030|      2|                case Elf64_Ehdr::EM_AARCH64: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (8030:17): [True: 2, False: 97]
  ------------------
 8031|      2|                case Elf64_Ehdr::EM_PPC64:   sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (8031:17): [True: 2, False: 97]
  ------------------
 8032|     95|                case Elf64_Ehdr::EM_X86_64:  sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (8032:17): [True: 95, False: 4]
  ------------------
 8033|     99|            }
 8034|     99|        }
 8035|    367|        loader_offset = off_entry - sz_d_info;
 8036|    367|    }
 8037|       |
 8038|    936|    if (0x1000==get_te64(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (8038:9): [True: 186, False: 750]
  ------------------
 8039|    186|    &&  0==get_te64(&phdri[1].p_offset)
  ------------------
  |  Branch (8039:9): [True: 115, False: 71]
  ------------------
 8040|    115|    &&  0==get_te64(&phdri[0].p_offset)
  ------------------
  |  Branch (8040:9): [True: 47, False: 68]
  ------------------
 8041|     47|    &&     get_te64(&phdri[1].p_filesz) == get_te64(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (8041:12): [True: 12, False: 35]
  ------------------
 8042|     12|        fi->seek(up4(get_te64(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 8043|     12|    }
 8044|    924|    else if (is_shlib
  ------------------
  |  Branch (8044:14): [True: 569, False: 355]
  ------------------
 8045|    355|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (8045:9): [True: 115, False: 240]
  ------------------
 8046|    355|            < up4(file_size)) {
 8047|       |        // Loader is not at end; skip past it.
 8048|    192|        if (loader_offset) {
  ------------------
  |  Branch (8048:13): [True: 191, False: 1]
  ------------------
 8049|    191|            fi->seek(loader_offset, SEEK_SET);
 8050|    191|        }
 8051|      1|        else {
 8052|      1|            funpad4(fi);  // MATCH01
 8053|      1|        }
 8054|    192|        fi->readx(d_info, sz_d_info);
 8055|    192|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (8055:13): [True: 77, False: 115]
  |  Branch (8055:25): [True: 77, False: 0]
  ------------------
 8056|     77|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 8057|     77|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 8058|     77|        }
 8059|    192|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 8060|    192|    }
 8061|       |
 8062|       |    // The gaps between PT_LOAD and after last PT_LOAD
 8063|    936|    phdr = (Elf64_Phdr const *)(1+ (Elf64_Ehdr const *)(void const *)o_elfhdrs);
 8064|    936|    upx_uint64_t hi_offset(0);
 8065|  2.85k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (8065:26): [True: 1.91k, False: 936]
  ------------------
 8066|  1.91k|        upx_uint64_t const offset = get_te64(&phdr[j].p_offset);
 8067|  1.91k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (8067:13): [True: 148, False: 1.77k]
  ------------------
 8068|    148|        &&  hi_offset < offset) {
  ------------------
  |  Branch (8068:13): [True: 89, False: 59]
  ------------------
 8069|     89|            hi_offset = offset;
 8070|     89|        }
 8071|  1.91k|    }
 8072|  2.65k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (8072:26): [True: 1.74k, False: 908]
  ------------------
 8073|  1.74k|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 8074|  1.74k|        if (size) {
  ------------------
  |  Branch (8074:13): [True: 102, False: 1.64k]
  ------------------
 8075|    102|            unsigned const where = get_te64(&phdr[j].p_offset) +
 8076|    102|                                   get_te64(&phdr[j].p_filesz);
 8077|    102|            if (fo)
  ------------------
  |  Branch (8077:17): [True: 102, False: 0]
  ------------------
 8078|    102|                fo->seek(where, SEEK_SET);
 8079|    102|            { // Recover from some piracy [also serves as error tolerance :-) ]
 8080|       |              // Getting past the loader is problematic, due to unintended
 8081|       |              // variances between released versions:
 8082|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 8083|       |              //   sz_d_info might have changed.
 8084|    102|                b_info b_peek, *bp = &b_peek;
 8085|    102|                fi->readx(bp, sizeof(b_peek));
 8086|    102|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 8087|    102|                unsigned sz_unc = get_te32(&bp->sz_unc);
 8088|    102|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 8089|    102|                unsigned word3  = get_te32(&bp->b_method);
 8090|    102|                unsigned method = bp->b_method;
 8091|    102|                unsigned ftid = bp->b_ftid;
 8092|    102|                unsigned cto8 = bp->b_cto8;
 8093|    102|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8093:25): [True: 4, False: 98]
  |  Branch (8093:47): [True: 2, False: 2]
  |  Branch (8093:63): [True: 0, False: 2]
  ------------------
 8094|    101|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (8094:25): [True: 69, False: 32]
  ------------------
 8095|     69|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  633|     17|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (8095:29): [True: 52, False: 17]
  |  Branch (8095:54): [True: 0, False: 17]
  ------------------
 8096|     52|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (8096:28): [True: 50, False: 2]
  |  Branch (8096:43): [True: 49, False: 1]
  ------------------
 8097|    102|                ) {
 8098|     52|                    opt->info_mode++;
 8099|     52|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 8100|     52|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 8101|     52|                    unsigned char peek_arr[N_PEEK];
 8102|     52|                    fi->seek(pos - H_PEEK, SEEK_SET);
 8103|     52|                    fi->readx(peek_arr, sizeof(peek_arr));
 8104|     52|                    fi->seek(pos, SEEK_SET);
 8105|     52|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 8106|     52|                    if (is_be) {
  ------------------
  |  Branch (8106:25): [True: 8, False: 44]
  ------------------
 8107|       |                        // Does the right thing for sz_unc and sz_cpr,
 8108|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 8109|    136|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (8109:46): [True: 128, False: 8]
  ------------------
 8110|    128|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 8111|    128|                        }
 8112|      8|                    }
 8113|     52|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 8114|     52|                    if (boff < 0
  ------------------
  |  Branch (8114:25): [True: 26, False: 26]
  ------------------
 8115|     28|                    || sizeof(peek_arr) < (boff + sizeof(b_info))) {
  ------------------
  |  Branch (8115:24): [True: 3, False: 23]
  ------------------
 8116|     28|                        throwCantUnpack("b_info corrupted");
 8117|     28|                    }
 8118|     24|                    bp = (b_info *)(void *)&peek_arr[boff];
 8119|       |
 8120|     24|                    sz_unc = get_le32(&bp->sz_unc);
 8121|     24|                    sz_cpr = get_le32(&bp->sz_cpr);
 8122|     24|                    word3  = get_le32(&bp->b_method);
 8123|     24|                    ftid = bp->b_ftid;
 8124|     24|                    cto8 = bp->b_cto8;
 8125|     24|                    if (0 <= boff  // found
  ------------------
  |  Branch (8125:25): [True: 23, False: 1]
  ------------------
 8126|     23|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8126:27): [True: 1, False: 22]
  |  Branch (8126:49): [True: 0, False: 1]
  |  Branch (8126:65): [True: 0, False: 0]
  ------------------
 8127|     23|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (8127:27): [True: 19, False: 4]
  |  Branch (8127:49): [True: 18, False: 1]
  |  Branch (8127:64): [True: 16, False: 2]
  ------------------
 8128|     16|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (8128:30): [True: 15, False: 1]
  |  Branch (8128:32): [True: 5, False: 11]
  ------------------
 8129|     24|                    ) {
 8130|     15|                        pos -= H_PEEK;
 8131|     15|                        pos += boff;
 8132|     15|                        infoWarning("... recovery at %#zx", (size_t)pos);
 8133|     15|                        fi->seek(pos, SEEK_SET);
 8134|     15|                    }
 8135|     24|                    opt->info_mode--;
 8136|     24|                }
 8137|    102|            }
 8138|     74|            unpackExtent(size, fo,
 8139|     74|                c_adler, u_adler, false,
 8140|     74|                (hi_offset != get_te64(&phdr[j].p_offset)));
 8141|     74|        }
 8142|  1.74k|    }
 8143|       |
 8144|       |    // check for end-of-file
 8145|    908|    fi->readx(&bhdr, szb_info);
 8146|    908|    ph.set_method(bhdr.b_method, ~0u);
 8147|    908|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 8148|       |
 8149|    908|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (8149:9): [True: 74, False: 834]
  ------------------
 8150|       |        // note: magic is always stored le32
 8151|     74|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 8152|     74|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  553|     74|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (8152:13): [True: 5, False: 69]
  ------------------
 8153|      5|            throwCompressedDataViolation();
 8154|     74|    }
 8155|    834|    else { // extra bytes after end?
 8156|    834|        throwCompressedDataViolation();
 8157|    834|    }
 8158|       |
 8159|     69|    if (is_shlib) {
  ------------------
  |  Branch (8159:9): [True: 56, False: 13]
  ------------------
 8160|     56|        un_DT_INIT(old_dtinit, (Elf64_Phdr *)(1+ (Elf64_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 8161|     56|    }
 8162|       |
 8163|       |    // update header with totals
 8164|     69|    ph.c_len = total_in;
 8165|     69|    ph.u_len = total_out;
 8166|       |
 8167|       |    // all bytes must be written
 8168|     69|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (8168:9): [True: 13, False: 56]
  |  Branch (8168:15): [True: 1, False: 12]
  ------------------
 8169|      1|        throwEOFException();
 8170|       |
 8171|       |    // finally test the checksums
 8172|     68|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (8172:9): [True: 57, False: 11]
  |  Branch (8172:34): [True: 1, False: 10]
  ------------------
 8173|      2|        throwChecksumError();
 8174|     68|}
_ZN17PackLinuxElf32x86C2EP9InputFile:
 8181|  53.3k|PackLinuxElf32x86::PackLinuxElf32x86(InputFile *f) : super(f)
 8182|  53.3k|{
 8183|  53.3k|    e_machine = Elf32_Ehdr::EM_386;
 8184|  53.3k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8185|  53.3k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8186|  53.3k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8187|  53.3k|}
_ZN17PackLinuxElf32x86D2Ev:
 8190|  53.2k|{
 8191|  53.2k|}
_ZN17PackLinuxElf32x869canUnpackEv:
 8194|  53.2k|{
 8195|  53.2k|    if (super::canUnpack()) {
  ------------------
  |  Branch (8195:9): [True: 1.02k, False: 52.1k]
  ------------------
 8196|  1.02k|        return true;
 8197|  1.02k|    }
 8198|  52.1k|    return false;
 8199|  53.2k|}
_ZN15PackBSDElf32x86C2EP9InputFile:
 8206|  26.7k|PackBSDElf32x86::PackBSDElf32x86(InputFile *f) : super(f)
 8207|  26.7k|{
 8208|  26.7k|    e_machine = Elf32_Ehdr::EM_386;
 8209|  26.7k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8210|  26.7k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8211|  26.7k|}
_ZN19PackFreeBSDElf32x86C2EP9InputFile:
 8217|  13.4k|PackFreeBSDElf32x86::PackFreeBSDElf32x86(InputFile *f) : super(f)
 8218|  13.4k|{
 8219|  13.4k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_FREEBSD;
 8220|  13.4k|}
_ZN18PackNetBSDElf32x86C2EP9InputFile:
 8226|  13.2k|PackNetBSDElf32x86::PackNetBSDElf32x86(InputFile *f) : super(f)
 8227|  13.2k|{
 8228|  13.2k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_NETBSD;
 8229|  13.2k|    osabi_note = "NetBSD";
 8230|  13.2k|}
_ZN19PackOpenBSDElf32x86C2EP9InputFile:
 8236|  13.2k|PackOpenBSDElf32x86::PackOpenBSDElf32x86(InputFile *f) : super(f)
 8237|  13.2k|{
 8238|  13.2k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_OPENBSD;
 8239|  13.2k|    osabi_note = "OpenBSD";
 8240|  13.2k|}
_ZN19PackLinuxElf32armLeC2EP9InputFile:
 8271|  9.89k|PackLinuxElf32armLe::PackLinuxElf32armLe(InputFile *f) : super(f)
 8272|  9.89k|{
 8273|  9.89k|    e_machine = Elf32_Ehdr::EM_ARM;
 8274|  9.89k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8275|  9.89k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8276|  9.89k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8277|  9.89k|}
_ZN19PackLinuxElf32armLeD2Ev:
 8280|  9.89k|{
 8281|  9.89k|}
_ZN20PackLinuxElf32mipsebC2EP9InputFile:
 8283|  6.59k|PackLinuxElf32mipseb::PackLinuxElf32mipseb(InputFile *f) : super(f)
 8284|  6.59k|{
 8285|  6.59k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8286|  6.59k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8287|  6.59k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8288|  6.59k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8289|  6.59k|}
_ZN20PackLinuxElf32mipsebD2Ev:
 8292|  6.59k|{
 8293|  6.59k|}
_ZN20PackLinuxElf32mipselC2EP9InputFile:
 8295|  6.61k|PackLinuxElf32mipsel::PackLinuxElf32mipsel(InputFile *f) : super(f)
 8296|  6.61k|{
 8297|  6.61k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8298|  6.61k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8299|  6.61k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8300|  6.61k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8301|  6.61k|}
_ZN20PackLinuxElf32mipselD2Ev:
 8304|  6.61k|{
 8305|  6.61k|}
_ZN19PackLinuxElf32armBeC2EP9InputFile:
 8322|  9.88k|PackLinuxElf32armBe::PackLinuxElf32armBe(InputFile *f) : super(f)
 8323|  9.88k|{
 8324|  9.88k|    e_machine = Elf32_Ehdr::EM_ARM;
 8325|  9.88k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8326|  9.88k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8327|  9.88k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8328|  9.88k|}
_ZN19PackLinuxElf32armBeD2Ev:
 8331|  8.76k|{
 8332|  8.76k|}
_ZNK14PackLinuxElf3227elf_get_offset_from_addressEj:
 8341|  4.11k|{
 8342|  4.11k|    return elf_get_offset_from_Phdrs(addr, phdri);
 8343|  4.11k|}
_ZNK14PackLinuxElf3225elf_get_offset_from_PhdrsEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8347|  4.11k|{
 8348|  4.11k|    Elf32_Phdr const *phdr = phdr0;
 8349|  4.11k|    int j = e_phnum;
 8350|  19.0k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8350:12): [True: 18.9k, False: 110]
  |  Branch (8350:32): [True: 5.64k, False: 13.2k]
  ------------------
 8351|  5.64k|        unsigned const t = addr - get_te32(&phdr->p_vaddr);
 8352|  5.64k|        if (t < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (8352:13): [True: 4.00k, False: 1.64k]
  ------------------
 8353|  4.00k|            unsigned const p_offset = get_te32(&phdr->p_offset);
 8354|  4.00k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8354:17): [True: 29, False: 3.97k]
  ------------------
 8355|     29|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     29|#define snprintf  upx_safe_snprintf
  ------------------
 8356|     29|                    "bad Elf32_Phdr[%d].p_offset %x",
 8357|     29|                    -1+ e_phnum - j, p_offset);
 8358|     29|                throwCantPack(msg);
 8359|     29|            }
 8360|  3.97k|            return t + p_offset;
 8361|  4.00k|        }
 8362|  5.64k|    }
 8363|    110|    return 0;
 8364|  4.11k|}
_ZN14PackLinuxElf3213check_pt_loadEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8368|  1.48k|{
 8369|  1.48k|    u32_t filesz = get_te32(&phdr->p_filesz);
 8370|  1.48k|    u32_t offset = get_te32(&phdr->p_offset), offend = filesz + offset;
 8371|  1.48k|    u32_t vaddr  = get_te32(&phdr->p_vaddr);
 8372|  1.48k|    u32_t paddr  = get_te32(&phdr->p_paddr);
 8373|  1.48k|    u32_t align  = get_te32(&phdr->p_align);
 8374|       |
 8375|  1.48k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8375:9): [True: 28, False: 1.45k]
  ------------------
 8376|  1.45k|    ||  file_size_u32 <= (u32_t)offset
  ------------------
  |  Branch (8376:9): [True: 9, False: 1.44k]
  ------------------
 8377|  1.44k|    ||  file_size_u32 <  (u32_t)offend
  ------------------
  |  Branch (8377:9): [True: 15, False: 1.42k]
  ------------------
 8378|  1.42k|    ||  file_size_u32 <  (u32_t)filesz) {
  ------------------
  |  Branch (8378:9): [True: 14, False: 1.41k]
  ------------------
 8379|     66|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|     66|#define snprintf  upx_safe_snprintf
  ------------------
 8380|     66|            (unsigned)(phdr - phdri));
 8381|     66|        throwCantPack(msg);
 8382|     66|    }
 8383|  1.41k|    return offset;
 8384|  1.48k|}
_ZN14PackLinuxElf3216check_pt_dynamicEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8401|  1.35k|{
 8402|  1.35k|    unsigned t = get_te32(&phdr->p_offset), s = sizeof(Elf32_Dyn) + t;
 8403|  1.35k|    unsigned vaddr = get_te32(&phdr->p_vaddr);
 8404|  1.35k|    unsigned filesz = get_te32(&phdr->p_filesz), memsz = get_te32(&phdr->p_memsz);
 8405|  1.35k|    unsigned align = get_te32(&phdr->p_align);
 8406|  1.35k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8406:9): [True: 6, False: 1.34k]
  |  Branch (8406:28): [True: 0, False: 1.34k]
  ------------------
 8407|  1.34k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8407:9): [True: 3, False: 1.34k]
  ------------------
 8408|  1.34k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8408:9): [True: 5, False: 1.33k]
  ------------------
 8409|  1.33k|    ||  t < (e_phnum*sizeof(Elf32_Phdr) + sizeof(Elf32_Ehdr))
  ------------------
  |  Branch (8409:9): [True: 8, False: 1.32k]
  ------------------
 8410|  1.32k|    ||  (3 & t) || (7 & (filesz | memsz))  // .balign 4; 8==sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8410:9): [True: 3, False: 1.32k]
  |  Branch (8410:20): [True: 2, False: 1.32k]
  ------------------
 8411|  1.32k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8411:9): [True: 18, False: 1.30k]
  ------------------
 8412|  1.30k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8412:9): [True: 27, False: 1.27k]
  ------------------
 8413|  1.27k|    ||  filesz < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8413:9): [True: 3, False: 1.27k]
  ------------------
 8414|  1.27k|    ||  memsz  < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8414:9): [True: 3, False: 1.27k]
  ------------------
 8415|  1.27k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8415:9): [True: 5, False: 1.26k]
  ------------------
 8416|     83|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|     83|#define snprintf  upx_safe_snprintf
  ------------------
 8417|     83|            (unsigned)(phdr - phdri));
 8418|     83|        throwCantPack(msg);
 8419|     83|    }
 8420|  1.26k|    sz_dynseg = memsz;
 8421|  1.26k|    return t;
 8422|  1.35k|}
_ZNK14PackLinuxElf3215elf_find_dynptrEj:
 8425|  10.2k|{
 8426|  10.2k|    Elf32_Dyn *dynp= dynseg;
 8427|  10.2k|    if (dynp) {
  ------------------
  |  Branch (8427:9): [True: 8.23k, False: 2.00k]
  ------------------
 8428|  8.23k|        Elf32_Dyn *const last = (Elf32_Dyn *)(sz_dynseg + (char *)dynseg);
 8429|   115k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8429:16): [True: 113k, False: 1.95k]
  ------------------
 8430|   113k|            if (get_te32(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8430:17): [True: 3.51k, False: 109k]
  ------------------
 8431|  3.51k|                return dynp;
 8432|  3.51k|            }
 8433|   109k|            if (Elf32_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8433:17): [True: 2.76k, False: 107k]
  ------------------
 8434|  2.76k|                return nullptr;
 8435|  2.76k|            }
 8436|   109k|        }
 8437|  8.23k|    }
 8438|  3.96k|    return nullptr;
 8439|  10.2k|}
_ZNK14PackLinuxElf6415elf_find_dynptrEj:
 8442|  7.90k|{
 8443|  7.90k|    Elf64_Dyn *dynp= dynseg;
 8444|  7.90k|    if (dynp) {
  ------------------
  |  Branch (8444:9): [True: 6.84k, False: 1.05k]
  ------------------
 8445|  6.84k|        Elf64_Dyn *const last = (Elf64_Dyn *)(sz_dynseg + (char *)dynseg);
 8446|  62.9k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8446:16): [True: 62.4k, False: 470]
  ------------------
 8447|  62.4k|            if (get_te64(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8447:17): [True: 2.89k, False: 59.5k]
  ------------------
 8448|  2.89k|                return dynp;
 8449|  2.89k|            }
 8450|  59.5k|            if (Elf64_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8450:17): [True: 3.47k, False: 56.0k]
  ------------------
 8451|  3.47k|                return nullptr;
 8452|  3.47k|            }
 8453|  59.5k|        }
 8454|  6.84k|    }
 8455|  1.52k|    return nullptr;
 8456|  7.90k|}
_ZNK14PackLinuxElf3216elf_find_dynamicEj:
 8460|  4.61k|{
 8461|  4.61k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8462|  4.61k|    if (dynp) {
  ------------------
  |  Branch (8462:9): [True: 2.02k, False: 2.58k]
  ------------------
 8463|  2.02k|        unsigned const t= elf_get_offset_from_address(get_te32(&dynp->d_val));
 8464|  2.02k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8464:13): [True: 1.88k, False: 140]
  |  Branch (8464:18): [True: 1.84k, False: 41]
  ------------------
 8465|  1.84k|            return t + file_image;
 8466|  1.84k|        }
 8467|  2.02k|    }
 8468|  2.76k|    return nullptr;
 8469|  4.61k|}
_ZNK14PackLinuxElf6416elf_find_dynamicEj:
 8473|  2.77k|{
 8474|  2.77k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8475|  2.77k|    if (dynp) {
  ------------------
  |  Branch (8475:9): [True: 1.57k, False: 1.20k]
  ------------------
 8476|  1.57k|        upx_uint64_t const t= elf_get_offset_from_address(get_te64(&dynp->d_val));
 8477|  1.57k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8477:13): [True: 1.47k, False: 95]
  |  Branch (8477:18): [True: 1.40k, False: 73]
  ------------------
 8478|  1.40k|            return t + file_image;
 8479|  1.40k|        }
 8480|  1.57k|    }
 8481|  1.37k|    return nullptr;
 8482|  2.77k|}
_ZNK14PackLinuxElf6420elf_unsigned_dynamicEj:
 8486|  5.12k|{
 8487|  5.12k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8488|  5.12k|    if (dynp) {
  ------------------
  |  Branch (8488:9): [True: 1.32k, False: 3.80k]
  ------------------
 8489|  1.32k|        return get_te64(&dynp->d_val);
 8490|  1.32k|    }
 8491|  3.80k|    return 0;
 8492|  5.12k|}
_ZNK14PackLinuxElf3220elf_unsigned_dynamicEj:
 8496|  5.62k|{
 8497|  5.62k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8498|  5.62k|    if (dynp) {
  ------------------
  |  Branch (8498:9): [True: 1.48k, False: 4.14k]
  ------------------
 8499|  1.48k|        return get_te32(&dynp->d_val);
 8500|  1.48k|    }
 8501|  4.14k|    return 0;
 8502|  5.62k|}
_ZNK14PackLinuxElf6427elf_get_offset_from_addressEy:
 8506|  3.22k|{
 8507|  3.22k|    Elf64_Phdr const *phdr = phdri;
 8508|  3.22k|    int j = e_phnum;
 8509|  15.8k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8509:12): [True: 15.8k, False: 37]
  |  Branch (8509:32): [True: 4.10k, False: 11.7k]
  ------------------
 8510|  4.10k|        upx_uint64_t const t = addr - get_te64(&phdr->p_vaddr);
 8511|  4.10k|        if (t < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (8511:13): [True: 3.18k, False: 922]
  ------------------
 8512|  3.18k|            upx_uint64_t const p_offset = get_te64(&phdr->p_offset);
 8513|  3.18k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8513:17): [True: 65, False: 3.11k]
  ------------------
 8514|     65|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     65|#define snprintf  upx_safe_snprintf
  ------------------
 8515|     65|                    "bad Elf64_Phdr[%d].p_offset %#lx",
 8516|     65|                    -1+ e_phnum - j, (long unsigned)p_offset);
 8517|     65|                throwCantPack(msg);
 8518|     65|            }
 8519|  3.11k|            return t + p_offset;
 8520|  3.18k|        }
 8521|  4.10k|    }
 8522|     37|    return 0;
 8523|  3.22k|}
_ZN14PackLinuxElf6413check_pt_loadEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8527|  1.15k|{
 8528|  1.15k|    u64_t filesz = get_te64(&phdr->p_filesz);
 8529|  1.15k|    u64_t offset = get_te64(&phdr->p_offset), offend = filesz + offset;
 8530|  1.15k|    u64_t vaddr  = get_te64(&phdr->p_vaddr);
 8531|  1.15k|    u64_t paddr  = get_te64(&phdr->p_paddr);
 8532|  1.15k|    u64_t align  = get_te64(&phdr->p_align);
 8533|       |
 8534|  1.15k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8534:9): [True: 88, False: 1.06k]
  ------------------
 8535|  1.06k|    ||  file_size_u <= (u64_t)offset
  ------------------
  |  Branch (8535:9): [True: 68, False: 999]
  ------------------
 8536|    999|    ||  file_size_u <  (u64_t)offend
  ------------------
  |  Branch (8536:9): [True: 82, False: 917]
  ------------------
 8537|    917|    ||  file_size_u <  (u64_t)filesz) {
  ------------------
  |  Branch (8537:9): [True: 14, False: 903]
  ------------------
 8538|    252|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|    252|#define snprintf  upx_safe_snprintf
  ------------------
 8539|    252|            (unsigned)(phdr - phdri));
 8540|    252|        throwCantPack(msg);
 8541|    252|    }
 8542|    903|    return offset;
 8543|  1.15k|}
_ZN14PackLinuxElf6416check_pt_dynamicEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8560|  1.62k|{
 8561|  1.62k|    upx_uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t;
 8562|  1.62k|    upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 8563|  1.62k|    upx_uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz);
 8564|  1.62k|    upx_uint64_t align = get_te64(&phdr->p_align);
 8565|  1.62k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8565:9): [True: 50, False: 1.57k]
  |  Branch (8565:28): [True: 0, False: 1.57k]
  ------------------
 8566|  1.57k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8566:9): [True: 72, False: 1.50k]
  ------------------
 8567|  1.50k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8567:9): [True: 4, False: 1.49k]
  ------------------
 8568|  1.49k|    ||  t < (e_phnum*sizeof(Elf64_Phdr) + sizeof(Elf64_Ehdr))
  ------------------
  |  Branch (8568:9): [True: 8, False: 1.48k]
  ------------------
 8569|  1.48k|    ||  (7 & t) || (0xf & (filesz | memsz))  // .balign 8; 16==sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8569:9): [True: 9, False: 1.48k]
  |  Branch (8569:20): [True: 5, False: 1.47k]
  ------------------
 8570|  1.47k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8570:9): [True: 61, False: 1.41k]
  ------------------
 8571|  1.41k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8571:9): [True: 76, False: 1.33k]
  ------------------
 8572|  1.33k|    ||  filesz < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8572:9): [True: 1, False: 1.33k]
  ------------------
 8573|  1.33k|    ||  memsz  < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8573:9): [True: 1, False: 1.33k]
  ------------------
 8574|  1.33k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8574:9): [True: 1, False: 1.33k]
  ------------------
 8575|    288|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|    288|#define snprintf  upx_safe_snprintf
  ------------------
 8576|    288|            (unsigned)(phdr - phdri));
 8577|    288|        throwCantPack(msg);
 8578|    288|    }
 8579|  1.33k|    sz_dynseg = memsz;
 8580|  1.33k|    return t;
 8581|  1.62k|}
_ZN14PackLinuxElf6417sort_DT64_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
 8585|  1.03k|{
 8586|  1.03k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 8587|  1.03k|    mb_dt_offsets.clear();
 8588|  1.03k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 8589|  1.03k|    unsigned n_off = 0, k;
 8590|  12.0k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (8590:24): [True: 11.2k, False: 895]
  ------------------
 8591|  11.2k|        dt_offsets[n_off] = 0;  // default to "not found"
 8592|  11.2k|        u64_t rva = 0;
 8593|  11.2k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (8593:13): [True: 7.42k, False: 3.78k]
  ------------------
 8594|  7.42k|            if (!dt_table[k]) {
  ------------------
  |  Branch (8594:17): [True: 5.39k, False: 2.02k]
  ------------------
 8595|  5.39k|                continue;
 8596|  5.39k|            }
 8597|  2.02k|            rva = get_te64(&dynp0[-1+ dt_table[k]].d_val);
 8598|  2.02k|        }
 8599|  3.78k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (8599:18): [True: 3.78k, False: 0]
  ------------------
 8600|  3.78k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 8601|  3.78k|        }
 8602|  5.80k|        if (!rva) { // not present in input
  ------------------
  |  Branch (8602:13): [True: 3.34k, False: 2.46k]
  ------------------
 8603|  3.34k|            continue;
 8604|  3.34k|        }
 8605|  2.46k|        Elf64_Phdr const *const phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 8606|  2.46k|        if (!phdr) {
  ------------------
  |  Branch (8606:13): [True: 124, False: 2.33k]
  ------------------
 8607|    124|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#llx (no Phdr)",
  ------------------
  |  |   75|    124|#define snprintf  upx_safe_snprintf
  ------------------
 8608|    124|                k, rva);
 8609|    124|            throwCantPack(msg);
 8610|    124|        }
 8611|  2.33k|        dt_offsets[n_off] = (rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 8612|       |
 8613|  2.33k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (8613:13): [True: 19, False: 2.31k]
  ------------------
 8614|     19|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     19|#define snprintf  upx_safe_snprintf
  ------------------
 8615|     19|                k, dt_offsets[n_off]);
 8616|     19|                throwCantPack(msg);
 8617|     19|        }
 8618|  2.31k|        n_off += !!dt_offsets[n_off];
 8619|  2.31k|    }
 8620|    895|    dt_offsets[n_off++] = file_size;  // sentinel
 8621|    895|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  245|    895|#define upx_qsort ::qsort
  ------------------
 8622|    895|}
_ZN14PackLinuxElf6411find_dt_ndxEy:
 8625|  1.09k|{
 8626|  1.09k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 8627|  1.09k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 8628|  3.11k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (8628:26): [True: 3.11k, False: 0]
  |  Branch (8628:42): [True: 2.82k, False: 295]
  ------------------
 8629|  2.82k|        if (rva == dto[j]) {
  ------------------
  |  Branch (8629:13): [True: 799, False: 2.02k]
  ------------------
 8630|    799|            return j;
 8631|    799|        }
 8632|  2.82k|    }
 8633|    295|    return ~0u;
 8634|  1.09k|}
_ZN14PackLinuxElf6419elf_find_table_sizeEjj:
 8637|  1.39k|{
 8638|  1.39k|    Elf64_Shdr const *sec = elf_find_section_type(sh_type);
 8639|  1.39k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (8639:9): [True: 0, False: 1.39k]
  ------------------
 8640|      0|        return get_te64(&sec->sh_size);
 8641|      0|    }
 8642|       |    // Honest hard work: use _Phdr
 8643|  1.39k|    unsigned x_rva;
 8644|  1.39k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (8644:9): [True: 998, False: 399]
  ------------------
 8645|    998|        unsigned const x_ndx = dt_table[dt_type];
 8646|    998|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (8646:13): [True: 302, False: 696]
  ------------------
 8647|    302|            return 0;
 8648|    302|        }
 8649|    696|        x_rva = get_te64(&dynseg[-1+ x_ndx].d_val);
 8650|    696|    }
 8651|    399|    else {
 8652|    399|        x_rva = elf_unsigned_dynamic(dt_type);
 8653|    399|    }
 8654|  1.09k|    Elf64_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 8655|  1.09k|    if (!x_phdr)
  ------------------
  |  Branch (8655:9): [True: 1, False: 1.09k]
  ------------------
 8656|      1|        return ~0u;  // corrupted Phdrs?
 8657|  1.09k|    unsigned const           d_off =             x_rva - get_te64(&x_phdr->p_vaddr);
 8658|  1.09k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te64(&x_phdr->p_offset));
 8659|  1.09k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (8659:9): [True: 799, False: 295]
  ------------------
 8660|    799|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 8661|    799|    }
 8662|    295|    return ~0u;
 8663|  1.09k|}
_ZN14PackLinuxElf6417invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEEy:
 8667|  1.33k|{
 8668|  1.33k|    if (dt_table[Elf64_Dyn::DT_NULL]) {
  ------------------
  |  Branch (8668:9): [True: 146, False: 1.19k]
  ------------------
 8669|    146|        return;  // not 1st time; do not change upx_dt_init
 8670|    146|    }
 8671|  1.19k|    Elf64_Dyn const *const dynp0 = dynp;
 8672|  1.19k|    unsigned ndx = 0;
 8673|  1.19k|    unsigned const limit = headway / sizeof(*dynp);
 8674|  1.19k|    if (dynp)
  ------------------
  |  Branch (8674:9): [True: 1.19k, False: 0]
  ------------------
 8675|  11.5k|    for (; ; ++ndx, ++dynp) {
 8676|  11.5k|        if (limit <= ndx) {
  ------------------
  |  Branch (8676:13): [True: 5, False: 11.5k]
  ------------------
 8677|      5|            throwCantPack("DT_NULL not found");
 8678|      5|        }
 8679|  11.5k|        upx_uint64_t const d_tag = get_te64(&dynp->d_tag);
 8680|  11.5k|        if (d_tag>>32) { // outrageous
  ------------------
  |  Branch (8680:13): [True: 75, False: 11.4k]
  ------------------
 8681|     75|            throwCantPack("bad Elf64_Dyn[%d].d_tag %#lx",
 8682|     75|                ndx, (long unsigned)d_tag);
 8683|     75|        }
 8684|  11.4k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (8684:13): [True: 5.87k, False: 5.58k]
  ------------------
 8685|  5.87k|            if (Elf64_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (8685:17): [True: 5.47k, False: 402]
  ------------------
 8686|  5.47k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (8686:17): [True: 269, False: 5.20k]
  ------------------
 8687|    269|            &&    get_te64(&dynp->d_val)
  ------------------
  |  Branch (8687:19): [True: 74, False: 195]
  ------------------
 8688|    269|               != get_te64(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 8689|     74|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 8690|     74|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 8691|     74|            }
 8692|  5.80k|            dt_table[d_tag] = 1+ ndx;
 8693|  5.80k|        }
 8694|  11.3k|        if (Elf64_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (8694:13): [True: 1.03k, False: 10.3k]
  ------------------
 8695|  1.03k|            break;  // check here so that dt_table[DT_NULL] is set
 8696|  1.03k|        }
 8697|  11.3k|    }
 8698|  1.03k|    sort_DT64_offsets(dynp0);
 8699|       |
 8700|  1.03k|    upx_dt_init = 0;
 8701|  1.03k|         if (dt_table[Elf64_Dyn::DT_INIT])          upx_dt_init = Elf64_Dyn::DT_INIT;
  ------------------
  |  Branch (8701:14): [True: 156, False: 882]
  ------------------
 8702|    882|    else if (dt_table[Elf64_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf64_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (8702:14): [True: 59, False: 823]
  ------------------
 8703|    823|    else if (dt_table[Elf64_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf64_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (8703:14): [True: 11, False: 812]
  ------------------
 8704|       |
 8705|  1.03k|    unsigned const z_str = dt_table[Elf64_Dyn::DT_STRSZ];
 8706|  1.03k|    strtab_max = !z_str ? 0 : get_te64(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (8706:18): [True: 58, False: 980]
  ------------------
 8707|  1.03k|    unsigned const z_tab = dt_table[Elf64_Dyn::DT_STRTAB];
 8708|  1.03k|    unsigned const tmp1 = !z_tab ? 0 : get_te64(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (8708:27): [True: 32, False: 1.00k]
  ------------------
 8709|  1.03k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (8709:9): [True: 36, False: 1.00k]
  ------------------
 8710|     36|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 8711|     36|    }
 8712|  1.00k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (8712:33): [True: 0, False: 1.00k]
  ------------------
 8713|       |
 8714|  1.00k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (8714:9): [True: 206, False: 796]
  |  Branch (8714:19): [True: 0, False: 796]
  |  Branch (8714:29): [True: 1, False: 795]
  ------------------
 8715|    795|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (8715:8): [True: 45, False: 750]
  ------------------
 8716|       |        // last string in table must have terminating NUL
 8717|    750|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (8717:9): [True: 2, False: 748]
  ------------------
 8718|  1.00k|    ) {
 8719|     51|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 8720|     51|    }
 8721|       |
 8722|    951|    { // Find end of DT_SYMTAB
 8723|    951|        unsigned const tmp2 = elf_find_table_size(Elf64_Dyn::DT_SYMTAB,
 8724|    951|            Elf64_Shdr::SHT_DYNSYM);
 8725|    951|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf64_Sym);
  ------------------
  |  Branch (8725:22): [True: 70, False: 881]
  ------------------
 8726|    951|    }
 8727|       |
 8728|    951|    unsigned v_sym = dt_table[Elf64_Dyn::DT_SYMTAB];
 8729|    951|    if (v_sym) {
  ------------------
  |  Branch (8729:9): [True: 446, False: 505]
  ------------------
 8730|    446|        v_sym = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_sym].d_val));
 8731|    446|    }
 8732|       |
 8733|    951|    unsigned v_hsh = dt_table[Elf64_Dyn::DT_HASH];
 8734|    951|    if (v_hsh) {
  ------------------
  |  Branch (8734:9): [True: 342, False: 609]
  ------------------
 8735|    342|        v_hsh = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_hsh].d_val));
 8736|    342|    }
 8737|    951|    if (v_hsh && file_image) {
  ------------------
  |  Branch (8737:9): [True: 311, False: 640]
  |  Branch (8737:18): [True: 311, False: 0]
  ------------------
 8738|    311|        hashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 8739|    311|        if (!hashtab) {
  ------------------
  |  Branch (8739:13): [True: 61, False: 250]
  ------------------
 8740|     61|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8741|     61|        }
 8742|       |        // Find end of DT_HASH
 8743|    250|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 8744|    250|            Elf64_Dyn::DT_HASH, Elf64_Shdr::SHT_HASH) + (char const *)hashtab);
 8745|    250|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (8745:13): [True: 0, False: 250]
  |  Branch (8745:25): [True: 2, False: 248]
  ------------------
 8746|    248|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8746:13): [True: 19, False: 229]
  ------------------
 8747|    248|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 8748|     21|        {
 8749|     21|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8750|     21|        }
 8751|       |
 8752|    229|        unsigned const nbucket = get_te32(&hashtab[0]);
 8753|    229|        unsigned const *const buckets = &hashtab[2];
 8754|    229|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 8755|    229|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (8755:13): [True: 19, False: 210]
  ------------------
 8756|    229|                <= sizeof(unsigned)*nbucket ) {
 8757|     19|            throwCantPack("bad nbucket %#x\n", nbucket);
 8758|     19|        }
 8759|       |
 8760|    210|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (8760:13): [True: 1, False: 209]
  ------------------
 8761|    209|        || !v_sym || file_size_u <= v_sym
  ------------------
  |  Branch (8761:12): [True: 4, False: 205]
  |  Branch (8761:22): [True: 1, False: 204]
  ------------------
 8762|    204|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (8762:13): [True: 134, False: 70]
  |  Branch (8762:32): [True: 9, False: 125]
  ------------------
 8763|    210|        ) {
 8764|     15|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8765|     15|                nbucket, (v_sym - v_hsh));
 8766|     15|        }
 8767|    195|        unsigned chmax = 0;
 8768|  6.50k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (8768:29): [True: 6.31k, False: 195]
  ------------------
 8769|  6.31k|            unsigned x = get_te32(&buckets[j]);
 8770|  6.31k|            if (chmax < x) {
  ------------------
  |  Branch (8770:17): [True: 900, False: 5.41k]
  ------------------
 8771|    900|                chmax = x;
 8772|    900|            }
 8773|  6.31k|        }
 8774|    195|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (8774:13): [True: 125, False: 70]
  |  Branch (8774:32): [True: 35, False: 90]
  ------------------
 8775|    125|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 8776|     35|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8777|     35|                nbucket, (v_sym - v_hsh));
 8778|     35|        }
 8779|    195|    }
 8780|    800|    unsigned const v_gsh = elf_unsigned_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8781|    800|    if (v_gsh && file_image) {
  ------------------
  |  Branch (8781:9): [True: 401, False: 399]
  |  Branch (8781:18): [True: 401, False: 0]
  ------------------
 8782|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 8783|    401|        gashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8784|    401|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 8785|    401|            Elf64_Dyn::DT_GNU_HASH, Elf64_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 8786|    401|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (8786:13): [True: 15, False: 386]
  |  Branch (8786:25): [True: 4, False: 382]
  ------------------
 8787|    382|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8787:13): [True: 1, False: 381]
  ------------------
 8788|    382|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 8789|     18|        {
 8790|     18|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 8791|     18|        }
 8792|       |
 8793|    383|        unsigned const n_bucket = get_te32(&gashtab[0]);
 8794|    383|        unsigned const symbias  = get_te32(&gashtab[1]);
 8795|    383|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 8796|    383|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 8797|    383|        upx_uint64_t const *const bitmask = (upx_uint64_t const *)(void const *)&gashtab[4];
 8798|    383|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 8799|    383|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 8800|    383|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (8800:13): [True: 6, False: 377]
  |  Branch (8800:26): [True: 33, False: 344]
  ------------------
 8801|    344|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (8801:12): [True: 13, False: 331]
  ------------------
 8802|    331|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (8802:12): [True: 39, False: 292]
  ------------------
 8803|     89|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 8804|     89|        }
 8805|       |        // It would be better to detect zeroes shifted into low 6 bits of:
 8806|       |        //    (077 & (hash_32 >> gnu_shift))
 8807|       |        // but compilers can be stupid.
 8808|    294|        if (31 < gnu_shift) {
  ------------------
  |  Branch (8808:13): [True: 4, False: 290]
  ------------------
 8809|      4|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 8810|      4|        }
 8811|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 8812|       |        // minimum, except:
 8813|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 8814|    290|        unsigned bmax = 0;
 8815|  20.6k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (8815:29): [True: 20.4k, False: 280]
  ------------------
 8816|  20.4k|            unsigned bj = get_te32(&buckets[j]);
 8817|  20.4k|            if (bj) {
  ------------------
  |  Branch (8817:17): [True: 16.1k, False: 4.30k]
  ------------------
 8818|  16.1k|                if (bj < symbias) {
  ------------------
  |  Branch (8818:21): [True: 10, False: 16.0k]
  ------------------
 8819|     10|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 8820|     10|                            bj, symbias);
 8821|     10|                }
 8822|  16.0k|                if (bmax < bj) {
  ------------------
  |  Branch (8822:21): [True: 1.00k, False: 15.0k]
  ------------------
 8823|  1.00k|                    bmax = bj;
 8824|  1.00k|                }
 8825|  16.0k|            }
 8826|  20.4k|        }
 8827|    280|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (8827:13): [True: 105, False: 175]
  |  Branch (8827:29): [True: 78, False: 27]
  ------------------
 8828|     78|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (8828:13): [True: 64, False: 14]
  |  Branch (8828:29): [True: 10, False: 54]
  ------------------
 8829|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 8830|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 8831|       |            // https://github.com/upx/upx/issues/525
 8832|     10|        } else
 8833|    270|        if (bmax) {
  ------------------
  |  Branch (8833:13): [True: 187, False: 83]
  ------------------
 8834|    187|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (8834:17): [True: 1, False: 186]
  ------------------
 8835|      1|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 8836|      1|                    1+ bmax, symbias);
 8837|      1|            }
 8838|    186|            bmax -= symbias;
 8839|    186|        }
 8840|       |
 8841|    279|        unsigned r = 0;
 8842|    279|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (8842:13): [True: 2, False: 277]
  |  Branch (8842:26): [True: 19, False: 258]
  |  Branch (8842:40): [True: 71, False: 187]
  ------------------
 8843|    187|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (8843:12): [True: 6, False: 181]
  ------------------
 8844|    181|        || (r=2, (8*sizeof(upx_uint64_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (8844:12): [True: 0, False: 181]
  ------------------
 8845|    181|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (8845:12): [True: 0, False: 181]
  ------------------
 8846|    181|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (8846:12): [True: 0, False: 181]
  ------------------
 8847|    181|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (8847:12): [True: 1, False: 180]
  ------------------
 8848|    181|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 8849|    180|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (8849:12): [True: 62, False: 118]
  |  Branch (8849:19): [True: 100, False: 80]
  |  Branch (8849:38): [True: 62, False: 38]
  ------------------
 8850|    100|                + sizeof(*bitmask)*n_bitmask  // bitmask
 8851|    100|                + sizeof(*buckets)*n_bucket  // buckets
 8852|    100|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (8852:37): [True: 22, False: 78]
  ------------------
 8853|    100|            )) )
 8854|    279|        ) {
 8855|    159|            throwCantPack("bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 8856|    159|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 8857|    159|        }
 8858|    279|    }
 8859|    519|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 8860|    519|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (8860:9): [True: 37, False: 482]
  ------------------
 8861|     37|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (8861:11): [True: 34, False: 3]
  |  Branch (8861:25): [True: 24, False: 10]
  ------------------
 8862|     13|        throwCantPack("bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 8863|     13|    }
 8864|    519|}
_ZN14PackLinuxElf326unpackEP10OutputFile:
 9123|  2.76k|{
 9124|  2.76k|    if (e_phoff != sizeof(Elf32_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (9124:9): [True: 0, False: 2.76k]
  ------------------
 9125|      0|        throwCantUnpack("bad e_phoff");
 9126|      0|    }
 9127|  2.76k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 9128|  2.76k|    unsigned u_phnum = 0;
 9129|  2.76k|    upx_uint32_t old_dtinit = 0;
 9130|       |
 9131|  2.76k|    if (Elf32_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (9131:9): [True: 2.73k, False: 30]
  ------------------
 9132|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 9133|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 9134|  2.73k|        if (ph.version <= 11
  ------------------
  |  Branch (9134:13): [True: 9, False: 2.72k]
  ------------------
 9135|      9|        &&  get_te32(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (9135:13): [True: 6, False: 3]
  ------------------
 9136|      6|        &&  get_te16(&ehdri.e_machine)==Elf32_Ehdr::EM_386) {
  ------------------
  |  Branch (9136:13): [True: 5, False: 1]
  ------------------
 9137|       |            // old style, 8-byte b_info:
 9138|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 9139|      5|            szb_info = 2*sizeof(unsigned);
 9140|      5|        }
 9141|  2.73k|    }
 9142|       |
 9143|  2.76k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 9144|  2.76k|    fi->readx(&linfo, sizeof(linfo));
 9145|  2.76k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  553|  2.76k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9145:9): [True: 131, False: 2.62k]
  ------------------
 9146|    131|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 9147|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 9148|    131|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (9148:13): [True: 92, False: 39]
  |  Branch (9148:25): [True: 55, False: 37]
  |  Branch (9148:37): [True: 25, False: 30]
  ------------------
 9149|     25|            fi->readx(&linfo, sizeof(linfo));
 9150|     25|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  553|     25|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9150:17): [True: 1, False: 24]
  ------------------
 9151|      1|                overlay_offset += sizeof(linfo);
 9152|      1|            }
 9153|     24|            else {
 9154|     24|                throwCantUnpack("l_info corrupted");
 9155|     24|            }
 9156|     25|        }
 9157|    106|        else {
 9158|    106|            throwCantUnpack("l_info corrupted");
 9159|    106|        }
 9160|    131|    }
 9161|  2.63k|    lsize = get_te16(&linfo.l_lsize);
 9162|  2.63k|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 9163|  2.63k|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 9164|  2.63k|    blocksize = get_te32(&hbuf.p_blocksize);
 9165|  2.63k|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (9165:9): [True: 5, False: 2.62k]
  |  Branch (9165:46): [True: 21, False: 2.60k]
  ------------------
 9166|  2.60k|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (9166:12): [True: 34, False: 2.57k]
  ------------------
 9167|  2.57k|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (9167:17): [True: 0, False: 2.57k]
  ------------------
 9168|  2.57k|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (9168:12): [True: 0, False: 2.57k]
  ------------------
 9169|     57|        throwCantUnpack("p_info corrupted");
 9170|       |
 9171|  2.57k|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 9172|  2.57k|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 9173|  2.57k|    fi->readx(&bhdr, szb_info);
 9174|  2.57k|    ph.u_len = get_te32(&bhdr.sz_unc);
 9175|  2.57k|    ph.c_len = get_te32(&bhdr.sz_cpr);
 9176|  2.57k|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 9177|  2.57k|    if (ph.c_len > (unsigned)file_size || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (9177:9): [True: 36, False: 2.53k]
  |  Branch (9177:43): [True: 1, False: 2.53k]
  |  Branch (9177:60): [True: 2, False: 2.53k]
  ------------------
 9178|  2.53k|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (9178:9): [True: 57, False: 2.47k]
  ------------------
 9179|     91|        throwCantUnpack("b_info corrupted");
 9180|  2.48k|    ph.filter_cto = bhdr.b_cto8;
 9181|  2.48k|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 9182|       |
 9183|  2.48k|    MemBuffer u(ph.u_len);
 9184|  2.48k|    Elf32_Ehdr *const ehdr = (Elf32_Ehdr *)&u[0];
 9185|  2.48k|    Elf32_Phdr const *phdr = nullptr;
 9186|  2.48k|    total_in = 0;
 9187|  2.48k|    total_out = 0;
 9188|  2.48k|    unsigned c_adler = upx_adler32(nullptr, 0);
 9189|  2.48k|    unsigned u_adler = upx_adler32(nullptr, 0);
 9190|       |
 9191|  2.48k|    unsigned is_shlib = 0;
 9192|  2.48k|    loader_offset = 0;
 9193|  2.48k|    MemBuffer o_elfhdrs;
 9194|  2.48k|    Elf32_Phdr const *const dynhdr = elf_find_ptype(Elf32_Phdr::PT_DYNAMIC, phdri, c_phnum);
 9195|       |    // dynseg was set by PackLinuxElf32help1
 9196|  2.48k|    if (dynhdr && !(Elf32_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf32_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (9196:9): [True: 163, False: 2.31k]
  |  Branch (9196:19): [True: 163, False: 0]
  ------------------
 9197|       |        // Packed shlib? (ET_DYN without -fPIE)
 9198|    163|        is_shlib = 1;
 9199|    163|        xct_off = overlay_offset - sizeof(l_info);
 9200|    163|        u_phnum = get_te16(&ehdri.e_phnum);
 9201|    163|        o_elfhdrs.alloc(sz_elf_hdrs);
 9202|    163|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 9203|    163|        *ehdr = ehdri;
 9204|    163|    }
 9205|  2.31k|    else { // main executable
 9206|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 9207|  2.31k|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (9207:13): [True: 5, False: 2.31k]
  ------------------
 9208|      5|            throwCompressedDataViolation();
 9209|  2.31k|        fi->readx(ibuf, ph.c_len);
 9210|  2.31k|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (9210:13): [True: 5, False: 2.30k]
  ------------------
 9211|      5|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9212|  2.30k|        decompress(ibuf, (upx_byte *)ehdr, false);
 9213|  2.30k|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (9213:13): [True: 784, False: 1.52k]
  ------------------
 9214|  1.52k|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (9214:13): [True: 1, False: 1.52k]
  ------------------
 9215|  1.52k|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (9215:13): [True: 0, False: 1.52k]
  ------------------
 9216|       |            // less strict for EM_PPC to workaround earlier bug
 9217|  1.52k|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (9217:16): [True: 618, False: 906]
  ------------------
 9218|    906|            || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (9218:16): [True: 904, False: 2]
  ------------------
 9219|  1.52k|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (9219:13): [True: 3, False: 1.51k]
  ------------------
 9220|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 9221|  1.51k|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (9221:13): [True: 7, False: 1.51k]
  ------------------
 9222|     14|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9223|     14|        }
 9224|       |        // Rewind: prepare for data phase
 9225|  2.29k|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 9226|       |
 9227|  2.29k|        u_phnum = get_te16(&ehdr->e_phnum);
 9228|  2.29k|        if ((umin((unsigned)MAX_ELF_HDR_32, ph.u_len) - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
  ------------------
  |  |    5|  2.29k|#define MAX_ELF_HDR_32 1024
  ------------------
  |  Branch (9228:13): [True: 1, False: 2.29k]
  ------------------
 9229|      1|            throwCantUnpack("bad compressed e_phnum");
 9230|      1|        }
 9231|  2.29k|        o_elfhdrs.alloc(sizeof(Elf32_Ehdr) + u_phnum * sizeof(Elf32_Phdr));
 9232|  2.29k|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 9233|       |
 9234|       |        // Decompress each PT_LOAD.
 9235|  2.29k|        bool first_PF_X = true;
 9236|  2.29k|        phdr = (Elf32_Phdr *) (void *) (1+ ehdr);  // uncompressed
 9237|  5.08k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (9237:28): [True: 2.78k, False: 2.29k]
  ------------------
 9238|  2.78k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9238:17): [True: 1.46k, False: 1.32k]
  ------------------
 9239|  1.46k|                unsigned const filesz = get_te32(&phdr->p_filesz);
 9240|  1.46k|                unsigned const offset = get_te32(&phdr->p_offset);
 9241|  1.46k|                if (fo) {
  ------------------
  |  Branch (9241:21): [True: 1.46k, False: 0]
  ------------------
 9242|  1.46k|                    fo->seek(offset, SEEK_SET);
 9243|  1.46k|                    if (total_out < offset) {
  ------------------
  |  Branch (9243:25): [True: 76, False: 1.39k]
  ------------------
 9244|     76|                        total_out = offset;  // FIXME: can it be re-write?
 9245|     76|                    }
 9246|  1.46k|                }
 9247|  1.46k|                if (Elf32_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (9247:21): [True: 1.37k, False: 89]
  ------------------
 9248|  1.37k|                    unpackExtent(filesz, fo,
 9249|  1.37k|                        c_adler, u_adler, first_PF_X);
 9250|  1.37k|                    first_PF_X = false;
 9251|  1.37k|                }
 9252|     89|                else {
 9253|     89|                    unpackExtent(filesz, fo,
 9254|     89|                        c_adler, u_adler, false);
 9255|     89|                }
 9256|  1.46k|            }
 9257|  2.78k|        }
 9258|  2.29k|    }
 9259|       |
 9260|  2.45k|    upx_uint32_t const e_entry = get_te32(&ehdri.e_entry);
 9261|  2.45k|    unsigned off_entry = 0;
 9262|  2.45k|    phdr = phdri;
 9263|  2.45k|    load_va = 0;
 9264|  4.37k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (9264:24): [True: 2.05k, False: 2.32k]
  ------------------
 9265|  2.05k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9265:13): [True: 311, False: 1.74k]
  ------------------
 9266|    311|            upx_uint32_t offset = get_te32(&phdr->p_offset);
 9267|    311|            upx_uint32_t vaddr  = get_te32(&phdr->p_vaddr);
 9268|    311|            upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 9269|    311|            if (!load_va) {
  ------------------
  |  Branch (9269:17): [True: 200, False: 111]
  ------------------
 9270|    200|                load_va = vaddr;
 9271|    200|            }
 9272|    311|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (9272:17): [True: 137, False: 174]
  ------------------
 9273|    137|                off_entry = (e_entry - vaddr) + offset;
 9274|    137|                break;
 9275|    137|            }
 9276|    311|        }
 9277|  2.05k|    }
 9278|  2.45k|    unsigned d_info[6];
 9279|  2.45k|    unsigned sz_d_info = sizeof(d_info);
 9280|  2.45k|    if (!is_shlib) {
  ------------------
  |  Branch (9280:9): [True: 203, False: 2.25k]
  ------------------
 9281|    203|        if (get_te32(&phdri[0].p_flags) & Elf32_Phdr::PF_X) {
  ------------------
  |  Branch (9281:13): [True: 111, False: 92]
  ------------------
 9282|       |            // Old style, such as upx-3.91 thru upx-3.95
 9283|    111|            switch (this->e_machine) {
 9284|      0|                default: {
  ------------------
  |  Branch (9284:17): [True: 0, False: 111]
  ------------------
 9285|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 9286|      0|                        "Unknown architecture %d", this->e_machine);
 9287|      0|                    throwCantUnpack(msg);
 9288|      0|                }; break;
 9289|      6|                case Elf32_Ehdr::EM_MIPS:sz_d_info = 1 * sizeof(unsigned); break;
  ------------------
  |  Branch (9289:17): [True: 6, False: 105]
  ------------------
 9290|     70|                case Elf32_Ehdr::EM_ARM: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (9290:17): [True: 70, False: 41]
  ------------------
 9291|      3|                case Elf32_Ehdr::EM_PPC: sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (9291:17): [True: 3, False: 108]
  ------------------
 9292|     32|                case Elf32_Ehdr::EM_386: sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (9292:17): [True: 32, False: 79]
  ------------------
 9293|    111|            }
 9294|    111|        }
 9295|    203|        loader_offset = off_entry - sz_d_info;
 9296|    203|    }
 9297|       |
 9298|  2.45k|    if (0x1000==get_te32(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (9298:9): [True: 82, False: 2.37k]
  ------------------
 9299|     82|    &&  0==get_te32(&phdri[1].p_offset)
  ------------------
  |  Branch (9299:9): [True: 40, False: 42]
  ------------------
 9300|     40|    &&  0==get_te32(&phdri[0].p_offset)
  ------------------
  |  Branch (9300:9): [True: 28, False: 12]
  ------------------
 9301|     28|    &&     get_te32(&phdri[1].p_filesz) == get_te32(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (9301:12): [True: 20, False: 8]
  ------------------
 9302|     20|        fi->seek(up4(get_te32(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 9303|     20|    }
 9304|  2.43k|    else if (is_shlib
  ------------------
  |  Branch (9304:14): [True: 2.24k, False: 196]
  ------------------
 9305|    196|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (9305:9): [True: 74, False: 122]
  ------------------
 9306|    196|            < up4(file_size)) {
 9307|       |        // Loader is not at end; skip past it.
 9308|    130|        if (loader_offset) {
  ------------------
  |  Branch (9308:13): [True: 122, False: 8]
  ------------------
 9309|    122|            fi->seek(loader_offset, SEEK_SET);
 9310|    122|        }
 9311|      8|        else {
 9312|      8|            funpad4(fi);  // MATCH01
 9313|      8|        }
 9314|    130|        fi->readx(d_info, sz_d_info);
 9315|    130|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (9315:13): [True: 56, False: 74]
  |  Branch (9315:25): [True: 56, False: 0]
  ------------------
 9316|     56|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 9317|     56|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 9318|     56|        }
 9319|    130|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 9320|    130|    }
 9321|       |
 9322|       |    // The gaps between PT_LOAD and after last PT_LOAD
 9323|  2.45k|    phdr = (Elf32_Phdr const *)(1+ (Elf32_Ehdr const *)(void const *)o_elfhdrs);
 9324|  2.45k|    upx_uint32_t hi_offset(0);
 9325|  3.68k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9325:26): [True: 1.22k, False: 2.45k]
  ------------------
 9326|  1.22k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (9326:13): [True: 168, False: 1.05k]
  ------------------
 9327|    168|        &&  hi_offset < get_te32(&phdr[j].p_offset))
  ------------------
  |  Branch (9327:13): [True: 84, False: 84]
  ------------------
 9328|     84|            hi_offset = get_te32(&phdr[j].p_offset);
 9329|  1.22k|    }
 9330|  3.46k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9330:26): [True: 1.04k, False: 2.42k]
  ------------------
 9331|  1.04k|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 9332|  1.04k|        if (size) {
  ------------------
  |  Branch (9332:13): [True: 122, False: 924]
  ------------------
 9333|    122|            unsigned const where = get_te32(&phdr[j].p_offset) +
 9334|    122|                                   get_te32(&phdr[j].p_filesz);
 9335|    122|            if (fo)
  ------------------
  |  Branch (9335:17): [True: 122, False: 0]
  ------------------
 9336|    122|                fo->seek(where, SEEK_SET);
 9337|    122|            { // Recover from some piracy [also serves as error tolerance :-) ]
 9338|       |              // Getting past the loader is problematic, due to unintended
 9339|       |              // variances between released versions:
 9340|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 9341|       |              //   sz_d_info might have changed.
 9342|    122|                b_info b_peek, *bp = &b_peek;
 9343|    122|                fi->readx(bp, sizeof(b_peek));
 9344|    122|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 9345|    122|                unsigned sz_unc = get_te32(&bp->sz_unc);
 9346|    122|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 9347|    122|                unsigned word3  = get_te32(&bp->b_method);
 9348|    122|                unsigned method = bp->b_method;
 9349|    122|                unsigned ftid = bp->b_ftid;
 9350|    122|                unsigned cto8 = bp->b_cto8;
 9351|    122|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9351:25): [True: 12, False: 110]
  |  Branch (9351:47): [True: 4, False: 8]
  |  Branch (9351:63): [True: 2, False: 2]
  ------------------
 9352|    119|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (9352:25): [True: 69, False: 50]
  ------------------
 9353|     69|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  633|     32|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (9353:29): [True: 37, False: 32]
  |  Branch (9353:54): [True: 0, False: 32]
  ------------------
 9354|     37|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (9354:28): [True: 36, False: 1]
  |  Branch (9354:43): [True: 35, False: 1]
  ------------------
 9355|    122|                ) {
 9356|     84|                    opt->info_mode++;
 9357|     84|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 9358|     84|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 9359|     84|                    unsigned char peek_arr[N_PEEK];
 9360|     84|                    fi->seek(pos - H_PEEK, SEEK_SET);
 9361|     84|                    fi->readx(peek_arr, sizeof(peek_arr));
 9362|     84|                    fi->seek(pos, SEEK_SET);
 9363|     84|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 9364|     84|                    if (is_be) {
  ------------------
  |  Branch (9364:25): [True: 21, False: 63]
  ------------------
 9365|       |                        // Does the right thing for sz_unc and sz_cpr,
 9366|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 9367|    357|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (9367:46): [True: 336, False: 21]
  ------------------
 9368|    336|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 9369|    336|                        }
 9370|     21|                    }
 9371|     84|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 9372|     84|                    if (boff < 0 || sizeof(peek_arr) < (sizeof(*bp) + boff)) {
  ------------------
  |  Branch (9372:25): [True: 36, False: 48]
  |  Branch (9372:37): [True: 3, False: 45]
  ------------------
 9373|     37|                        throwCantUnpack("b_info corrupted");
 9374|     37|                    }
 9375|     47|                    bp = (b_info *)(void *)&peek_arr[boff];
 9376|       |
 9377|     47|                    sz_unc = get_le32(&bp->sz_unc);
 9378|     47|                    sz_cpr = get_le32(&bp->sz_cpr);
 9379|     47|                    word3  = get_le32(&bp->b_method);
 9380|     47|                    ftid = bp->b_ftid;
 9381|     47|                    cto8 = bp->b_cto8;
 9382|     47|                    if (0 <= boff  // found
  ------------------
  |  Branch (9382:25): [True: 45, False: 2]
  ------------------
 9383|     45|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9383:27): [True: 12, False: 33]
  |  Branch (9383:49): [True: 7, False: 5]
  |  Branch (9383:65): [True: 7, False: 0]
  ------------------
 9384|     38|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (9384:27): [True: 24, False: 14]
  |  Branch (9384:49): [True: 21, False: 3]
  |  Branch (9384:64): [True: 20, False: 1]
  ------------------
 9385|     20|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (9385:30): [True: 18, False: 2]
  |  Branch (9385:32): [True: 7, False: 13]
  ------------------
 9386|     47|                    ) {
 9387|     25|                        pos -= H_PEEK;
 9388|     25|                        pos += boff;
 9389|     25|                        infoWarning("... recovery at %#zx", (size_t)pos);
 9390|     25|                        fi->seek(pos, SEEK_SET);
 9391|     25|                    }
 9392|     47|                    opt->info_mode--;
 9393|     47|                }
 9394|    122|            }
 9395|     85|            unpackExtent(size, fo,
 9396|     85|                c_adler, u_adler, false,
 9397|     85|                (hi_offset != get_te32(&phdr[j].p_offset)));
 9398|     85|        }
 9399|  1.04k|    }
 9400|       |
 9401|       |    // check for end-of-file
 9402|  2.42k|    fi->readx(&bhdr, szb_info);
 9403|  2.42k|    ph.set_method(bhdr.b_method, ~0u);
 9404|  2.42k|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 9405|       |
 9406|  2.42k|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (9406:9): [True: 53, False: 2.36k]
  ------------------
 9407|       |        // note: magic is always stored le32
 9408|     53|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 9409|     53|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  553|     53|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9409:13): [True: 16, False: 37]
  ------------------
 9410|     16|            throwCompressedDataViolation();
 9411|     53|    }
 9412|  2.36k|    else { // extra bytes after end?
 9413|  2.36k|        throwCompressedDataViolation();
 9414|  2.36k|    }
 9415|       |
 9416|     37|    if (is_shlib) {
  ------------------
  |  Branch (9416:9): [True: 22, False: 15]
  ------------------
 9417|     22|        un_DT_INIT(old_dtinit, (Elf32_Phdr *)(1+ (Elf32_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 9418|     22|    }
 9419|       |
 9420|       |    // update header with totals
 9421|     37|    ph.c_len = total_in;
 9422|     37|    ph.u_len = total_out;
 9423|       |
 9424|       |    // all bytes must be written
 9425|     37|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (9425:9): [True: 15, False: 22]
  |  Branch (9425:15): [True: 1, False: 14]
  ------------------
 9426|      1|        throwEOFException();
 9427|       |
 9428|       |    // finally test the checksums
 9429|     36|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (9429:9): [True: 23, False: 13]
  |  Branch (9429:34): [True: 1, False: 12]
  ------------------
 9430|      2|        throwChecksumError();
 9431|     36|}
p_lx_elf.cpp:_ZL16alloc_file_imageR9MemBufferx:
  140|  14.2k|{
  141|  14.2k|    assert(mem_size_valid_bytes(size));
  ------------------
  |  |  512|  14.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  142|  14.2k|    if (mb.getVoidPtr() == nullptr) {
  ------------------
  |  Branch (142:9): [True: 13.8k, False: 326]
  ------------------
  143|  13.8k|        mb.alloc(size);
  144|  13.8k|    } else {
  145|    326|        assert((u32_t)size <= mb.getSize());
  ------------------
  |  |  512|    326|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    652|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 326, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  146|    326|    }
  147|  14.2k|}
p_lx_elf.cpp:_ZL3up4j:
   78|  1.13k|{
   79|  1.13k|    return ~3u & (3+ x);
   80|  1.13k|}
p_lx_elf.cpp:_ZL7is_pow2y:
  451|  11.7k|{
  452|  11.7k|    return !((-1+ x) & x);
  453|  11.7k|}
p_lx_elf.cpp:_ZL13qcmp_unsignedPKvS0_:
 2342|  8.27k|{
 2343|  8.27k|    unsigned a = *(unsigned const *)aa;
 2344|  8.27k|    unsigned b = *(unsigned const *)bb;
 2345|  8.27k|    if (a < b) return -1;
  ------------------
  |  Branch (2345:9): [True: 5.88k, False: 2.39k]
  ------------------
 2346|  2.39k|    if (a > b) return  1;
  ------------------
  |  Branch (2346:9): [True: 2.26k, False: 126]
  ------------------
 2347|    126|    return  0;
 2348|  2.39k|}
p_lx_elf.cpp:_ZL7funpad4P9InputFile:
  132|    157|{
  133|    157|    unsigned d = 3u & (0 - fi->tell());
  134|    157|    if (d)
  ------------------
  |  Branch (134:9): [True: 148, False: 9]
  ------------------
  135|    148|        fi->seek(d, SEEK_CUR);
  136|    157|    return d;
  137|    157|}

_ZN16PackLinuxElf32BeC2EP9InputFile:
  470|  24.6k|    PackLinuxElf32Be(InputFile *f) : super(f) {
  471|  24.6k|        bele = &N_BELE_RTP::be_policy;
  472|  24.6k|        PackLinuxElf32help1(f);
  473|  24.6k|    }
_ZN16PackLinuxElf64LeC2EP9InputFile:
  490|  35.2k|    PackLinuxElf64Le(InputFile *f) : super(f) {
  491|  35.2k|        lg2_page=16;
  492|  35.2k|        page_size=1u<<lg2_page;
  493|  35.2k|        bele = &N_BELE_RTP::le_policy;
  494|  35.2k|        PackLinuxElf64help1(f);
  495|  35.2k|    }
_ZN16PackLinuxElf64BeC2EP9InputFile:
  502|  6.99k|    PackLinuxElf64Be(InputFile *f) : super(f) {
  503|  6.99k|        lg2_page=16;
  504|  6.99k|        page_size=1u<<lg2_page;
  505|  6.99k|        bele = &N_BELE_RTP::be_policy;
  506|  6.99k|        PackLinuxElf64help1(f);
  507|  6.99k|    }
_ZN12PackLinuxElf9canUnpackEv:
   46|  8.04k|    virtual tribool canUnpack() override { return super::canUnpack(); } // bool, except -1: format known, but not packed
_ZN16PackLinuxElf32LeC2EP9InputFile:
  480|  69.8k|    PackLinuxElf32Le(InputFile *f) : super(f) {
  481|  69.8k|        bele = &N_BELE_RTP::le_policy;
  482|  69.8k|        PackLinuxElf32help1(f);
  483|  69.8k|    }
_ZNK12PackLinuxElf10getVersionEv:
   44|   141k|    virtual int getVersion() const override { return 14; } // upx-3.96 cannot unpack, for instance
_ZNK12PackLinuxElf16canUnpackVersionEi:
   45|  7.77k|    virtual bool canUnpackVersion(int version) const override { return (version >= 11); }
_ZNK17PackLinuxElf32ppc9getFormatEv:
  576|  17.4k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_PPC32; }
  ------------------
  |  |  620|  17.4k|#define UPX_F_LINUX_ELF32_PPC32 132
  ------------------
_ZNK17PackLinuxElf32ppc7getNameEv:
  577|      2|    virtual const char *getName() const override { return "linux/ppc32"; }
_ZNK19PackLinuxElf64ppcle9getFormatEv:
  596|  13.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64LE; }
  ------------------
  |  |  608|  13.2k|#define UPX_F_LINUX_ELF64_PPC64LE 39
  ------------------
_ZNK19PackLinuxElf64ppcle7getNameEv:
  597|      2|    virtual const char *getName() const override { return "linux/ppc64le"; }
_ZNK17PackLinuxElf64ppc9getFormatEv:
  615|  13.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64; }
  ------------------
  |  |  628|  13.2k|#define UPX_F_LINUX_ELF64_PPC64 140
  ------------------
_ZNK17PackLinuxElf64ppc7getNameEv:
  616|      1|    virtual const char *getName() const override { return "linux/ppc64"; }
_ZNK17PackLinuxElf64amd9getFormatEv:
  521|  23.3k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_AMD64; }
  ------------------
  |  |  591|  23.3k|#define UPX_F_LINUX_ELF64_AMD64   22
  ------------------
_ZNK17PackLinuxElf64amd7getNameEv:
  522|      4|    virtual const char *getName() const override { return "linux/amd64"; }
_ZNK17PackLinuxElf64arm9getFormatEv:
  538|  16.4k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_ARM64; }
  ------------------
  |  |  611|  16.4k|#define UPX_F_LINUX_ELF64_ARM64   42
  ------------------
_ZNK17PackLinuxElf64arm7getNameEv:
  539|      3|    virtual const char *getName() const override { return "linux/arm64"; }
_ZNK21PackLinuxElf64riscv649getFormatEv:
  555|  16.3k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_RISCV64; }
  ------------------
  |  |  614|  16.3k|#define UPX_F_LINUX_ELF64_RISCV64 45
  ------------------
_ZNK17PackLinuxElf32x869getFormatEv:
  638|  27.7k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF_i386; }
  ------------------
  |  |  581|  27.7k|#define UPX_F_LINUX_ELF_i386      12
  ------------------
_ZNK17PackLinuxElf32x867getNameEv:
  639|      3|    virtual const char *getName() const override { return "linux/i386"; }
_ZNK19PackFreeBSDElf32x869getFormatEv:
  675|  27.8k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  594|  27.8k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK18PackNetBSDElf32x869getFormatEv:
  686|  27.7k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  594|  27.7k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackOpenBSDElf32x869getFormatEv:
  704|  27.7k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  594|  27.7k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackLinuxElf32armLe9getFormatEv:
  728|  19.7k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARM; }
  ------------------
  |  |  592|  19.7k|#define UPX_F_LINUX_ELF32_ARM     23
  ------------------
_ZNK19PackLinuxElf32armLe7getNameEv:
  729|      1|    virtual const char *getName() const override { return "linux/arm"; }
_ZNK20PackLinuxElf32mipseb9getFormatEv:
  766|  13.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPS; }
  ------------------
  |  |  625|  13.2k|#define UPX_F_LINUX_ELF32_MIPS  137
  ------------------
_ZNK20PackLinuxElf32mipseb7getNameEv:
  767|      1|    virtual const char *getName() const override { return "linux/mips"; }
_ZNK20PackLinuxElf32mipsel9getFormatEv:
  784|  13.2k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPSEL; }
  ------------------
  |  |  599|  13.2k|#define UPX_F_LINUX_ELF32_MIPSEL  30
  ------------------
_ZNK20PackLinuxElf32mipsel7getNameEv:
  785|      2|    virtual const char *getName() const override { return "linux/mipsel"; }
_ZNK19PackLinuxElf32armBe9getFormatEv:
  747|  18.0k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARMEB; }
  ------------------
  |  |  621|  18.0k|#define UPX_F_LINUX_ELF32_ARMEB 133
  ------------------
_ZNK19PackLinuxElf32armBe7getNameEv:
  748|      3|    virtual const char *getName() const override { return "linux/armeb"; }

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

_ZNK13PackLinuxI3869getFormatEv:
   47|  14.7k|    virtual int getFormat() const override { return UPX_F_LINUX_i386; }
  ------------------
  |  |  579|  14.7k|#define UPX_F_LINUX_i386          10
  ------------------
_ZNK13PackLinuxI3867getNameEv:
   48|      2|    virtual const char *getName() const override { return "linux.exec/i386"; }
_ZNK11PackBSDI3869getFormatEv:
  134|  14.8k|    virtual int getFormat() const override { return UPX_F_BSD_i386; }
  ------------------
  |  |  593|  14.8k|#define UPX_F_BSD_i386            24
  ------------------

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

_ZNK15PackLinuxI386sh10getVersionEv:
   44|  8.69k|    virtual int getVersion() const override { return 13; }
_ZNK15PackLinuxI386sh9getFormatEv:
   45|  15.2k|    virtual int getFormat() const override { return UPX_F_LINUX_SH_i386; }
  ------------------
  |  |  583|  15.2k|#define UPX_F_LINUX_SH_i386       14
  ------------------
_ZNK15PackLinuxI386sh16canUnpackVersionEi:
   57|  2.11k|        { return (version >= 11); }

_ZN13PackDylibI386C2EP9InputFile:
  238|     22|PackDylibI386::PackDylibI386(InputFile *f) : super(f)
  239|     22|{
  240|     22|    my_filetype = Mach_header::MH_DYLIB;
  241|     22|}
_ZN14PackDylibAMD64C2EP9InputFile:
  243|  5.21k|PackDylibAMD64::PackDylibAMD64(InputFile *f) : super(f)
  244|  5.21k|{
  245|  5.21k|    my_filetype = Mach_header::MH_DYLIB;
  246|  5.21k|}
_ZN14PackDylibPPC32C2EP9InputFile:
  248|      7|PackDylibPPC32::PackDylibPPC32(InputFile *f) : super(f)
  249|      7|{
  250|      7|    my_filetype = Mach_header::MH_DYLIB;
  251|      7|}
_ZN14PackDylibPPC64C2EP9InputFile:
  252|      4|PackDylibPPC64::PackDylibPPC64(InputFile *f) : super(f)
  253|      4|{
  254|      4|    my_filetype = Mach_header::MH_DYLIB;
  255|      4|}
_ZN13PackMachPPC32C2EP9InputFile:
  270|  5.12k|PackMachPPC32::PackMachPPC32(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC,
  271|  5.12k|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE,
  272|  5.12k|        sizeof(Mach_ppc_thread_state)>>2, sizeof(threado), 12)
  273|  5.12k|{ }
_ZN13PackMachPPC64C2EP9InputFile:
  275|      8|PackMachPPC64::PackMachPPC64(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC64,
  276|      8|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE64,
  277|      8|        sizeof(Mach_ppc_thread_state64)>>2, sizeof(threado), 16)
  278|      8|{ }
_ZN12PackMachI386C2EP9InputFile:
  292|  4.55k|PackMachI386::PackMachI386(InputFile *f) : super(f, Mach_header::CPU_TYPE_I386,
  293|  4.55k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE32,
  294|  4.55k|        sizeof(Mach_i386_thread_state)>>2, sizeof(threado), 12)
  295|  4.55k|{ }
_ZN13PackMachAMD64C2EP9InputFile:
  303|  9.70k|PackMachAMD64::PackMachAMD64(InputFile *f) : super(f, Mach_header::CPU_TYPE_X86_64,
  304|  9.70k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE64,
  305|  9.70k|        sizeof(Mach_AMD64_thread_state)>>2, sizeof(threado), 12)
  306|  9.70k|{ }
_ZN13PackMachARMELC2EP9InputFile:
  314|  4.03k|PackMachARMEL::PackMachARMEL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM,
  315|  4.03k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE,
  316|  4.03k|        sizeof(Mach_ARM_thread_state)>>2, sizeof(threado), 12)
  317|  4.03k|{ }
_ZN15PackMachARM64ELC2EP9InputFile:
  319|  3.50k|PackMachARM64EL::PackMachARM64EL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM64,
  320|  3.50k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE64,
  321|  3.50k|        sizeof(Mach_ARM64_thread_state)>>2, sizeof(threado), 14)
  322|  3.50k|{ }
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  5.12k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  5.12k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  5.12k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  5.12k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  5.12k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  5.12k|{
  225|  5.12k|    MachClass::compileTimeAssertions();
  226|  5.12k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  5.12k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  5.12k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  5.12k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  5.12k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  5.12k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|  5.12k|{
  236|  5.12k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE6unpackEP10OutputFile:
 1480|    123|{
 1481|    123|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1482|    123|    fi->seek(0, SEEK_SET);
 1483|    123|    fi->readx(&mhdri, sizeof(mhdri));
 1484|    123|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1484:9): [True: 0, False: 123]
  ------------------
 1485|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 0]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    123|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1489|    123|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1489:9): [True: 0, False: 123]
  ------------------
 1490|      0|        throwCantUnpack("file header corrupted");
 1491|      0|    }
 1492|    123|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1493|    123|    rawmseg_buf.alloc(sz_cmds);
 1494|    123|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1495|    123|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1496|       |
 1497|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1498|       |    // but canUnpack() sets overlay_offset anyway.
 1499|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1500|       |
 1501|    123|    fi->seek(overlay_offset, SEEK_SET);
 1502|    123|    p_info hbuf;
 1503|    123|    fi->readx(&hbuf, sizeof(hbuf));
 1504|    123|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1505|    123|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1506|    123|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  179|     97|#define UPX_RSIZE_MAX_MEM    (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1506:9): [True: 26, False: 97]
  |  Branch (1506:39): [True: 15, False: 82]
  ------------------
 1507|     40|        throwCantUnpack("file header corrupted");
 1508|     83|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1508:9): [True: 29, False: 54]
  ------------------
 1509|     29|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1509:27): [True: 29, False: 0]
  ------------------
 1510|     29|        opt->backup = 1;
 1511|     29|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1512|     29|    }
 1513|       |
 1514|     83|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1515|     83|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1516|     83|    fi->readx(&bhdr, sizeof(bhdr));
 1517|     83|    ph.u_len = get_te32(&bhdr.sz_unc);
 1518|     83|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1519|     83|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1519:9): [True: 27, False: 56]
  |  Branch (1519:43): [True: 32, False: 24]
  |  Branch (1519:60): [True: 4, False: 20]
  ------------------
 1520|     62|        throwCantUnpack("file header corrupted");
 1521|     21|    ph.method = bhdr.b_method;
 1522|     21|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  633|     42|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1522:9): [True: 6, False: 15]
  ------------------
 1523|     15|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  648|     15|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1523:9): [True: 5, False: 10]
  ------------------
 1524|     10|        throwCantUnpack("file header bad method");
 1525|     11|    ph.filter = bhdr.b_ftid;
 1526|     11|    ph.filter_cto = bhdr.b_cto8;
 1527|       |
 1528|       |    // Uncompress Macho headers
 1529|     11|    fi->readx(ibuf, ph.c_len);
 1530|     11|    MemBuffer mhdr_buf(ph.u_len);
 1531|     11|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1532|     11|    decompress(ibuf, (upx_byte *)mhdr, false);
 1533|     11|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1533:9): [True: 11, False: 0]
  ------------------
 1534|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1534:9): [True: 0, False: 0]
  ------------------
 1535|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1535:9): [True: 0, False: 0]
  ------------------
 1536|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1536:9): [True: 0, False: 0]
  ------------------
 1537|      2|        throwCantUnpack("file header corrupted");
 1538|      9|    unsigned const ncmds = mhdr->ncmds;
 1539|      9|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1476|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1539:9): [True: 9, False: 0]
  |  Branch (1539:19): [True: 0, False: 0]
  ------------------
 1540|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1541|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1542|      0|        throwCantUnpack(msg);
 1543|      0|    }
 1544|       |
 1545|      9|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1546|      9|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1547|      9|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1548|      9|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1549|      9|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1549:25): [True: 0, False: 9]
  ------------------
 1550|      0|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1550:13): [True: 0, False: 0]
  ------------------
 1551|      0|            throwCantUnpack("bad packed Mach load_command");
 1552|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1553|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1553:13): [True: 0, False: 0]
  ------------------
 1554|      0|                headway, lc_seg, sizeof(Addr))) {
 1555|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1556|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1557|      0|            throwCantUnpack(msg);
 1558|      0|        }
 1559|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  528|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1560|      0|        headway -= cmdsize;
 1561|      0|        ptr     += cmdsize;
 1562|      0|    }
 1563|       |
 1564|       |    // Put LC_SEGMENT together at the beginning
 1565|      9|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  245|      9|#define upx_qsort ::qsort
  ------------------
 1566|      9|    n_segment = 0;
 1567|      9|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1567:25): [True: 0, False: 9]
  ------------------
 1568|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1569|      0|    }
 1570|       |
 1571|      9|    total_in = 0;
 1572|      9|    total_out = 0;
 1573|      9|    unsigned c_adler = upx_adler32(nullptr, 0);
 1574|      9|    unsigned u_adler = upx_adler32(nullptr, 0);
 1575|       |
 1576|      9|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1577|      9|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1577:26): [True: 0, False: 9]
  ------------------
 1578|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1578:13): [True: 0, False: 0]
  |  Branch (1578:39): [True: 0, False: 0]
  ------------------
 1579|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1579:17): [True: 0, False: 0]
  ------------------
 1580|      0|                segTEXT = msegcmd[k];
 1581|      0|            }
 1582|      0|            if (fo)
  ------------------
  |  Branch (1582:17): [True: 0, False: 0]
  ------------------
 1583|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1584|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1585|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1586|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1586:17): [True: 0, False: 0]
  ------------------
 1587|      0|                break;  // only the first lc_seg when MH_DYLIB
 1588|      0|            }
 1589|      0|        }
 1590|      0|    }
 1591|      9|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1592|      9|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1592:9): [True: 0, False: 9]
  ------------------
 1593|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1594|       |        // but the walk below counts with ncmds from the decompressed header
 1595|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1595:13): [True: 0, False: 0]
  ------------------
 1596|      0|            throwCantUnpack("file header corrupted");
 1597|      0|        upx_uint64_t cpr_mod_init_func(0);
 1598|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1599|      0|        Mach_segment_command const *rc = rawmseg;
 1600|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1601|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1602|      0|        for (
 1603|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1604|      0|            k < ncmds;
  ------------------
  |  Branch (1604:13): [True: 0, False: 0]
  ------------------
 1605|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1606|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1607|      0|        ) {
 1608|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1608:17): [True: 0, False: 0]
  ------------------
 1609|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1609:17): [True: 0, False: 0]
  ------------------
 1610|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1610:21): [True: 0, False: 0]
  ------------------
 1611|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1612|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1613|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1614|      0|                }
 1615|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1616|      0|                if (fo)
  ------------------
  |  Branch (1616:21): [True: 0, False: 0]
  ------------------
 1617|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1618|      0|                unsigned const len = rc->filesize;
 1619|      0|                MemBuffer data(len);
 1620|      0|                fi->readx(data, len);
 1621|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1621:21): [True: 0, False: 0]
  ------------------
 1622|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1623|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1623:25): [True: 0, False: 0]
  |  Branch (1623:60): [True: 0, False: 0]
  ------------------
 1624|      0|                        throwCantUnpack("bad __mod_init_func");
 1625|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1626|      0|                }
 1627|      0|                if (fo)
  ------------------
  |  Branch (1627:21): [True: 0, False: 0]
  ------------------
 1628|      0|                    fo->write(data, len);
 1629|      0|            }
 1630|      0|        }
 1631|      0|    }
 1632|      9|    else
 1633|      9|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1633:26): [True: 0, False: 9]
  ------------------
 1634|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1635|      0|        if (size) {
  ------------------
  |  Branch (1635:13): [True: 0, False: 0]
  ------------------
 1636|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1637|      0|            if (fo)
  ------------------
  |  Branch (1637:17): [True: 0, False: 0]
  ------------------
 1638|      0|                fo->seek(where, SEEK_SET);
 1639|      0|            unpackExtent(size, fo,
 1640|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1641|      0|        }
 1642|      0|    }
 1643|      9|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1648|  5.12k|{
 1649|  5.12k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1650|  5.12k|    fi->seek(0, SEEK_SET);
 1651|  5.12k|    fi->readx(&mhdri, sizeof(mhdri));
 1652|       |
 1653|  5.12k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1653:9): [True: 4.34k, False: 781]
  ------------------
 1654|    781|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1654:9): [True: 8, False: 773]
  ------------------
 1655|    773|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1655:9): [True: 37, False: 736]
  ------------------
 1656|  5.12k|    )
 1657|  4.39k|        return false;
 1658|    736|    my_cpusubtype = mhdri.cpusubtype;
 1659|       |
 1660|    736|    unsigned const ncmds = mhdri.ncmds;
 1661|    736|    int headway = (int)mhdri.sizeofcmds;
 1662|    736|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1476|    735|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1662:9): [True: 1, False: 735]
  |  Branch (1662:19): [True: 36, False: 699]
  |  Branch (1662:41): [True: 18, False: 681]
  ------------------
 1663|    681|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1663:10): [True: 48, False: 633]
  ------------------
 1664|    103|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    103|#define snprintf  upx_safe_snprintf
  ------------------
 1665|    103|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1666|    103|        throwCantUnpack(msg);
 1667|    103|    }
 1668|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1669|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1670|    633|    if ((2 == ncmds
  ------------------
  |  Branch (1670:10): [True: 15, False: 618]
  ------------------
 1671|     15|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1671:12): [True: 1, False: 14]
  ------------------
 1672|    632|    ||  (3 <= ncmds
  ------------------
  |  Branch (1672:10): [True: 499, False: 133]
  ------------------
 1673|    499|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1673:12): [True: 4, False: 495]
  ------------------
 1674|    499|                    + sizeof(Mach_main_command)))) {
 1675|      5|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1676|      5|        throwCantUnpack("file corrupted");
 1677|      5|    }
 1678|    628|    sz_mach_headers = headway + sizeof(mhdri);
 1679|    628|    if (2048 < headway) {
  ------------------
  |  Branch (1679:9): [True: 7, False: 621]
  ------------------
 1680|      7|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1681|      7|    }
 1682|    628|    if (!headway) {
  ------------------
  |  Branch (1682:9): [True: 0, False: 628]
  ------------------
 1683|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1684|      0|    }
 1685|    628|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1686|    628|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1687|    628|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1688|       |
 1689|    628|    Mach_segment_command const *ptrTEXT = nullptr;
 1690|    628|    upx_uint64_t rip = 0;
 1691|    628|    unsigned style = 0;
 1692|    628|    off_t offLINK = 0;
  ------------------
  |  |  235|    628|#define off_t upx_off_t
  ------------------
 1693|    628|    unsigned pos_next = 0;
 1694|    628|    unsigned nseg = 0;
 1695|    628|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1696|  2.49k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1696:25): [True: 2.05k, False: 437]
  ------------------
 1697|  2.05k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1698|  2.05k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1698:13): [True: 5, False: 2.04k]
  ------------------
 1699|      5|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      5|#define snprintf  upx_safe_snprintf
  ------------------
 1700|      5|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1701|      5|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1702|      5|            throwCantPack(buf);
 1703|      5|        }
 1704|  2.04k|        unsigned const cmd = ptr->cmd;
 1705|  2.04k|        unsigned const cmdsize = ptr->cmdsize;
 1706|  2.04k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1706:13): [True: 148, False: 1.90k]
  ------------------
 1707|    148|                opt->info_mode += 1;
 1708|    148|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1709|    148|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1710|    148|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1711|    148|                opt->info_mode -= 1;
 1712|    148|                throwCantUnpack("file corrupted");
 1713|    148|        }
 1714|  1.90k|        headway -= cmdsize;
 1715|  1.90k|        if (headway < 0) {
  ------------------
  |  Branch (1715:13): [True: 0, False: 1.90k]
  ------------------
 1716|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1717|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1718|      0|                (unsigned)ptr->cmdsize);
 1719|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1720|      0|        }
 1721|  1.90k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1721:13): [True: 1.42k, False: 473]
  ------------------
 1722|  1.42k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1723|  1.42k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1723:17): [True: 9, False: 1.41k]
  ------------------
 1724|  1.41k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1724:17): [True: 28, False: 1.39k]
  ------------------
 1725|  1.39k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1725:17): [True: 1, False: 1.39k]
  ------------------
 1726|     38|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1727|     38|                      "  filesize=0x%lx  fileoff=0x%lx",
 1728|     38|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1729|     38|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1730|     38|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1731|     38|                throwCantUnpack("file corrupted");
 1732|     38|            }
 1733|  1.39k|            ++nseg;
 1734|  1.39k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 16, False: 1.37k]
  ------------------
 1735|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1736|     16|                style = 391;  // UPX 3.91
 1737|     16|            }
 1738|  1.39k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 46, False: 1.34k]
  ------------------
 1739|     46|                ptrTEXT = segptr;
 1740|     46|                style = 391;  // UPX 3.91
 1741|     46|            }
 1742|  1.39k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 22, False: 1.36k]
  ------------------
 1743|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1744|     22|                style = 392;  // UPX 3.92
 1745|     22|            }
 1746|  1.39k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1746:17): [True: 472, False: 918]
  ------------------
 1747|    472|                offLINK = segptr->fileoff;
 1748|    472|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1748:21): [True: 125, False: 347]
  ------------------
 1749|    125|                    style = 395;
 1750|    125|                }
 1751|    472|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1751:21): [True: 297, False: 175]
  ------------------
 1752|    297|                    offLINK = pos_next;
 1753|    297|                }
 1754|    472|            }
 1755|  1.39k|            pos_next = segptr->filesize + segptr->fileoff;
 1756|  1.39k|        }
 1757|    473|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1757:18): [True: 147, False: 326]
  ------------------
 1758|    147|            rip = entryVMA = threadc_getPC(ptr);
 1759|    147|        }
 1760|  1.90k|    }
 1761|    437|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1761:9): [True: 307, False: 130]
  |  Branch (1761:20): [True: 306, False: 1]
  ------------------
 1762|    306|        style = 392;
 1763|    306|    }
 1764|    437|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1764:9): [True: 6, False: 431]
  |  Branch (1764:23): [True: 4, False: 2]
  |  Branch (1764:37): [True: 3, False: 1]
  |  Branch (1764:49): [True: 2, False: 1]
  ------------------
 1765|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1766|      2|    }
 1767|    437|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1767:9): [True: 9, False: 428]
  |  Branch (1767:23): [True: 16, False: 412]
  ------------------
 1768|     21|        return false;
 1769|     21|    }
 1770|       |
 1771|    416|    int const small = 32 + sizeof(overlay_offset);
 1772|    416|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1773|    416|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1773:9): [True: 3, False: 413]
  ------------------
 1774|      3|        fi->seek(offLINK - bufsize, SEEK_SET);
 1775|      3|    } else
 1776|    413|    if (392 == style) {
  ------------------
  |  Branch (1776:9): [True: 294, False: 119]
  ------------------
 1777|    294|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1777:13): [True: 0, False: 294]
  ------------------
 1778|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1779|      0|        }
 1780|    294|        else { // PackHeader follows loader at __LINKEDIT
 1781|    294|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1781:17): [True: 266, False: 28]
  ------------------
 1782|    266|                bufsize = fi->st_size() - offLINK;
 1783|    266|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1783:21): [True: 3, False: 263]
  ------------------
 1784|      3|                    throwCantUnpack("bad offLINK %p %p",
 1785|      3|                        (void *)offLINK, (void *)file_size);
 1786|      3|                }
 1787|    266|            }
 1788|    291|            fi->seek(offLINK, SEEK_SET);
 1789|    291|        }
 1790|    294|    } else
 1791|    119|    if (395 == style) {
  ------------------
  |  Branch (1791:9): [True: 115, False: 4]
  ------------------
 1792|    115|        fi->seek(offLINK - bufsize, SEEK_SET);
 1793|    115|    }
 1794|    413|    MemBuffer buf(bufsize);
 1795|    413|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1796|    413|    buf3.clear();
 1797|       |
 1798|    413|    fi->readx(buf, bufsize);
 1799|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1800|       |
 1801|    413|    int i = bufsize;
 1802|  3.27k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1802:12): [True: 3.09k, False: 174]
  |  Branch (1802:25): [True: 2.85k, False: 239]
  ------------------
 1803|    413|    i -= small;
 1804|       |    // allow incompressible extents
 1805|    413|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1805:9): [True: 174, False: 239]
  |  Branch (1805:18): [True: 239, False: 0]
  ------------------
 1806|       |        // Breadcrumbs failed.
 1807|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1808|    403|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1808:38): [True: 30, False: 373]
  ------------------
 1809|    403|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1809:13): [True: 30, False: 373]
  |  Branch (1809:24): [True: 27, False: 3]
  |  Branch (1809:31): [True: 2, False: 25]
  ------------------
 1810|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1811|      2|            fi->readx(buf3, bufsize);
 1812|      2|            unsigned char const *b = &buf3[0];
 1813|      2|            unsigned disp = *(TE32 const *)&b[1];
 1814|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1814:17): [True: 0, False: 2]
  ------------------
 1815|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1815:21): [True: 0, False: 0]
  |  Branch (1815:35): [True: 0, False: 0]
  ------------------
 1816|       |                    // disp and the b_info that follow it are used as raw offsets
 1817|       |                    // into buf3, which holds only bufsize bytes that were read.
 1818|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1818:24): [True: 0, False: 0]
  ------------------
 1819|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1820|       |                    // searching for "executable_path=" etc.
 1821|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1821:21): [True: 0, False: 0]
  |  Branch (1821:40): [True: 0, False: 0]
  ------------------
 1822|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1823|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1823:25): [True: 0, False: 0]
  |  Branch (1823:46): [True: 0, False: 0]
  ------------------
 1824|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1825|       |                        // This is the folded stub.
 1826|       |                        // FIXME: check b_method?
 1827|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1827:29): [True: 0, False: 0]
  |  Branch (1827:60): [True: 0, False: 0]
  ------------------
 1828|       |                            // overlay_offset is read at (32 + b); keep that read
 1829|       |                            // inside the bytes that were read into buf3.
 1830|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1830:28): [True: 0, False: 0]
  ------------------
 1831|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1832|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1833|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1834|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1835|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1835:33): [True: 0, False: 0]
  ------------------
 1836|      0|                                return true;  // success
 1837|      0|                            }
 1838|      0|                            overlay_offset = 0;  // failure
 1839|      0|                        }
 1840|      0|                    }
 1841|      0|                }
 1842|      0|            }
 1843|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1843:17): [True: 0, False: 2]
  ------------------
 1844|      0|                infoWarning("file corrupted: %s", fi->getName());
 1845|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1846|      0|                fi->readx(buf3, bufsize);
 1847|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1848|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1848:24): [True: 0, False: 0]
  ------------------
 1849|      0|                    unsigned x = *p;
 1850|      0|                    if (x) {
  ------------------
  |  Branch (1850:25): [True: 0, False: 0]
  ------------------
 1851|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1851:29): [True: 0, False: 0]
  |  Branch (1851:40): [True: 0, False: 0]
  ------------------
 1852|      0|                            fi->seek(0, SEEK_SET);
 1853|      0|                            fi->readx(buf3, bufsize);
 1854|      0|                            p = (unsigned const *)&buf3[x];
 1855|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1855:33): [True: 0, False: 0]
  |  Branch (1855:46): [True: 0, False: 0]
  |  Branch (1855:59): [True: 0, False: 0]
  ------------------
 1856|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1856:33): [True: 0, False: 0]
  |  Branch (1856:59): [True: 0, False: 0]
  ------------------
 1857|      0|                            ) {
 1858|      0|                                overlay_offset = x;
 1859|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1860|      0|                                    overlay_offset);
 1861|      0|                                return true;
 1862|      0|                            }
 1863|      0|                        }
 1864|      0|                        break;
 1865|      0|                    }
 1866|      0|                }
 1867|      0|            }
 1868|      2|        }
 1869|    403|        if (391==style) {
  ------------------
  |  Branch (1869:13): [True: 1, False: 402]
  ------------------
 1870|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1871|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1871:20): [True: 0, False: 1]
  ------------------
 1872|      1|            overlay_offset = *uptr;
 1873|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1873:17): [True: 0, False: 1]
  |  Branch (1873:55): [True: 0, False: 0]
  ------------------
 1874|      0|                return true;  // success
 1875|      0|            }
 1876|      1|            overlay_offset = 0;
 1877|      1|            return false;
 1878|      1|        }
 1879|    402|        if (392==style) {
  ------------------
  |  Branch (1879:13): [True: 288, False: 114]
  ------------------
 1880|    288|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1881|       |            // p_info isn't used for execution, so it has less value for checking:
 1882|       |            //      0== .p_progid
 1883|       |            //      .p_filesize == .p_blocksize
 1884|    288|            fi->seek(overlay_offset, SEEK_SET);
 1885|    288|            fi->readx(buf3, bufsize);
 1886|    288|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1887|    288|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1888|    288|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1889|    288|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1889:17): [True: 158, False: 130]
  ------------------
 1890|    158|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1890:17): [True: 31, False: 127]
  ------------------
 1891|     31|                unsigned const method = b_ptr->b_method;
 1892|     31|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  633|     31|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  639|     29|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1892:22): [True: 2, False: 29]
  |  Branch (1892:48): [True: 4, False: 25]
  ------------------
 1893|      6|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1893:21): [True: 3, False: 3]
  ------------------
 1894|      3|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1894:21): [True: 1, False: 2]
  ------------------
 1895|      1|                    return true;
 1896|      1|                }
 1897|     30|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1898|     30|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  634|     30|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  640|     28|#define M_NRV2E_8     9
  ------------------
  |  Branch (1898:22): [True: 2, False: 28]
  |  Branch (1898:45): [True: 2, False: 26]
  ------------------
 1899|      4|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1899:20): [True: 2, False: 2]
  ------------------
 1900|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1900:21): [True: 1, False: 1]
  ------------------
 1901|      1|                    return true;
 1902|      1|                }
 1903|       |                // FIXME: M_LZMA
 1904|     30|            }
 1905|       |
 1906|    286|            overlay_offset = 0;
 1907|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1908|       |            // is the total length of compressed data which precedes it
 1909|       |            //(distance to l_info), so that's another method.
 1910|    286|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1911|    286|            fi->readx(buf3, 0x1000);
 1912|    286|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1913|    286|            unsigned const *p;
 1914|  9.95k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1914:55): [True: 9.89k, False: 57]
  |  Branch (1914:69): [True: 1.88k, False: 8.01k]
  ------------------
 1915|  1.88k|                overlay_offset  = *(TE32 const *)p;
 1916|  1.88k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1916:21): [True: 140, False: 1.74k]
  ------------------
 1917|    140|                    throwCantUnpack("file corrupted");
 1918|  1.74k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1918:21): [True: 1.51k, False: 232]
  ------------------
 1919|  1.51k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1920|  1.51k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1921|  1.51k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1921:25): [True: 18, False: 1.49k]
  ------------------
 1922|     18|                        throwCantUnpack("file corrupted");
 1923|  1.49k|                    fi->seek(overlay_offset, SEEK_SET);
 1924|  1.49k|                    fi->readx(buf3, bufsize);
 1925|  1.49k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1925:25): [True: 586, False: 907]
  ------------------
 1926|    586|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1926:25): [True: 71, False: 515]
  ------------------
 1927|     71|                        return true;
 1928|     71|                    }
 1929|  1.49k|                }
 1930|  1.74k|            }
 1931|    286|        }
 1932|    402|    }
 1933|       |
 1934|    181|    overlay_offset = 0;  // impossible value
 1935|    181|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1936|    181|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1936:9): [True: 116, False: 65]
  |  Branch (1936:19): [True: 115, False: 1]
  ------------------
 1937|    115|        overlay_offset = get_te32(buf + i + l);
 1938|    115|    }
 1939|    181|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:16): [True: 75, False: 106]
  ------------------
 1940|    106|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1940:9): [True: 65, False: 41]
  ------------------
 1941|     75|        infoWarning("file corrupted: %s", fi->getName());
 1942|     75|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1943|     75|        fi->seek(sz_mach_headers, SEEK_SET);
 1944|     75|        fi->readx(buf2, buf2.getSize());
 1945|     75|        unsigned const *p = (unsigned const *)&buf2[0];
 1946|     75|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1947|   128k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1947:16): [True: 128k, False: 66]
  ------------------
 1948|   128k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1948:16): [True: 26.3k, False: 102k]
  ------------------
 1949|  26.3k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1949:16): [True: 9.94k, False: 16.4k]
  ------------------
 1950|  9.94k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1950:13): [True: 1.19k, False: 8.74k]
  ------------------
 1951|  1.19k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1951:13): [True: 747, False: 450]
  ------------------
 1952|    747|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1952:13): [True: 125, False: 622]
  ------------------
 1953|   128k|        ) {
 1954|    125|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1955|    125|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1955:19): [True: 116, False: 9]
  ------------------
 1956|      9|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1956:31): [True: 0, False: 9]
  ------------------
 1957|      9|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1957:24): [True: 0, False: 9]
  ------------------
 1958|      9|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1959|      9|                return true;
 1960|      9|            }
 1961|    125|        }
 1962|     66|        throwCantUnpack("file corrupted");
 1963|     75|    }
 1964|    106|    return true;
 1965|    181|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  8.58k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  8.58k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  8.58k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  8.58k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  8.58k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  8.58k|{
  225|  8.58k|    MachClass::compileTimeAssertions();
  226|  8.58k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  8.58k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  8.58k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  8.58k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  8.58k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  8.58k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  8.58k|{
  236|  8.58k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1480|    112|{
 1481|    112|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1482|    112|    fi->seek(0, SEEK_SET);
 1483|    112|    fi->readx(&mhdri, sizeof(mhdri));
 1484|    112|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1484:9): [True: 0, False: 112]
  ------------------
 1485|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 0]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    112|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1489|    112|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1489:9): [True: 0, False: 112]
  ------------------
 1490|      0|        throwCantUnpack("file header corrupted");
 1491|      0|    }
 1492|    112|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1493|    112|    rawmseg_buf.alloc(sz_cmds);
 1494|    112|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1495|    112|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1496|       |
 1497|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1498|       |    // but canUnpack() sets overlay_offset anyway.
 1499|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1500|       |
 1501|    112|    fi->seek(overlay_offset, SEEK_SET);
 1502|    112|    p_info hbuf;
 1503|    112|    fi->readx(&hbuf, sizeof(hbuf));
 1504|    112|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1505|    112|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1506|    112|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  179|     85|#define UPX_RSIZE_MAX_MEM    (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1506:9): [True: 27, False: 85]
  |  Branch (1506:39): [True: 18, False: 67]
  ------------------
 1507|     42|        throwCantUnpack("file header corrupted");
 1508|     70|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1508:9): [True: 16, False: 54]
  ------------------
 1509|     16|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1509:27): [True: 16, False: 0]
  ------------------
 1510|     16|        opt->backup = 1;
 1511|     16|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1512|     16|    }
 1513|       |
 1514|     70|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1515|     70|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1516|     70|    fi->readx(&bhdr, sizeof(bhdr));
 1517|     70|    ph.u_len = get_te32(&bhdr.sz_unc);
 1518|     70|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1519|     70|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1519:9): [True: 16, False: 54]
  |  Branch (1519:43): [True: 8, False: 46]
  |  Branch (1519:60): [True: 1, False: 45]
  ------------------
 1520|     21|        throwCantUnpack("file header corrupted");
 1521|     49|    ph.method = bhdr.b_method;
 1522|     49|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  633|     98|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1522:9): [True: 26, False: 23]
  ------------------
 1523|     23|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  648|     23|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1523:9): [True: 15, False: 8]
  ------------------
 1524|     37|        throwCantUnpack("file header bad method");
 1525|     12|    ph.filter = bhdr.b_ftid;
 1526|     12|    ph.filter_cto = bhdr.b_cto8;
 1527|       |
 1528|       |    // Uncompress Macho headers
 1529|     12|    fi->readx(ibuf, ph.c_len);
 1530|     12|    MemBuffer mhdr_buf(ph.u_len);
 1531|     12|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1532|     12|    decompress(ibuf, (upx_byte *)mhdr, false);
 1533|     12|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1533:9): [True: 12, False: 0]
  ------------------
 1534|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1534:9): [True: 0, False: 0]
  ------------------
 1535|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1535:9): [True: 0, False: 0]
  ------------------
 1536|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1536:9): [True: 0, False: 0]
  ------------------
 1537|      1|        throwCantUnpack("file header corrupted");
 1538|     11|    unsigned const ncmds = mhdr->ncmds;
 1539|     11|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1476|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1539:9): [True: 11, False: 0]
  |  Branch (1539:19): [True: 0, False: 0]
  ------------------
 1540|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1541|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1542|      0|        throwCantUnpack(msg);
 1543|      0|    }
 1544|       |
 1545|     11|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1546|     11|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1547|     11|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1548|     11|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1549|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1549:25): [True: 0, False: 11]
  ------------------
 1550|      0|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1550:13): [True: 0, False: 0]
  ------------------
 1551|      0|            throwCantUnpack("bad packed Mach load_command");
 1552|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1553|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1553:13): [True: 0, False: 0]
  ------------------
 1554|      0|                headway, lc_seg, sizeof(Addr))) {
 1555|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1556|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1557|      0|            throwCantUnpack(msg);
 1558|      0|        }
 1559|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  528|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1560|      0|        headway -= cmdsize;
 1561|      0|        ptr     += cmdsize;
 1562|      0|    }
 1563|       |
 1564|       |    // Put LC_SEGMENT together at the beginning
 1565|     11|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  245|     11|#define upx_qsort ::qsort
  ------------------
 1566|     11|    n_segment = 0;
 1567|     11|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1567:25): [True: 0, False: 11]
  ------------------
 1568|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1569|      0|    }
 1570|       |
 1571|     11|    total_in = 0;
 1572|     11|    total_out = 0;
 1573|     11|    unsigned c_adler = upx_adler32(nullptr, 0);
 1574|     11|    unsigned u_adler = upx_adler32(nullptr, 0);
 1575|       |
 1576|     11|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1577|     11|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1577:26): [True: 0, False: 11]
  ------------------
 1578|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1578:13): [True: 0, False: 0]
  |  Branch (1578:39): [True: 0, False: 0]
  ------------------
 1579|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1579:17): [True: 0, False: 0]
  ------------------
 1580|      0|                segTEXT = msegcmd[k];
 1581|      0|            }
 1582|      0|            if (fo)
  ------------------
  |  Branch (1582:17): [True: 0, False: 0]
  ------------------
 1583|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1584|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1585|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1586|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1586:17): [True: 0, False: 0]
  ------------------
 1587|      0|                break;  // only the first lc_seg when MH_DYLIB
 1588|      0|            }
 1589|      0|        }
 1590|      0|    }
 1591|     11|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1592|     11|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1592:9): [True: 0, False: 11]
  ------------------
 1593|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1594|       |        // but the walk below counts with ncmds from the decompressed header
 1595|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1595:13): [True: 0, False: 0]
  ------------------
 1596|      0|            throwCantUnpack("file header corrupted");
 1597|      0|        upx_uint64_t cpr_mod_init_func(0);
 1598|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1599|      0|        Mach_segment_command const *rc = rawmseg;
 1600|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1601|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1602|      0|        for (
 1603|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1604|      0|            k < ncmds;
  ------------------
  |  Branch (1604:13): [True: 0, False: 0]
  ------------------
 1605|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1606|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1607|      0|        ) {
 1608|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1608:17): [True: 0, False: 0]
  ------------------
 1609|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1609:17): [True: 0, False: 0]
  ------------------
 1610|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1610:21): [True: 0, False: 0]
  ------------------
 1611|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1612|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1613|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1614|      0|                }
 1615|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1616|      0|                if (fo)
  ------------------
  |  Branch (1616:21): [True: 0, False: 0]
  ------------------
 1617|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1618|      0|                unsigned const len = rc->filesize;
 1619|      0|                MemBuffer data(len);
 1620|      0|                fi->readx(data, len);
 1621|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1621:21): [True: 0, False: 0]
  ------------------
 1622|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1623|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1623:25): [True: 0, False: 0]
  |  Branch (1623:60): [True: 0, False: 0]
  ------------------
 1624|      0|                        throwCantUnpack("bad __mod_init_func");
 1625|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1626|      0|                }
 1627|      0|                if (fo)
  ------------------
  |  Branch (1627:21): [True: 0, False: 0]
  ------------------
 1628|      0|                    fo->write(data, len);
 1629|      0|            }
 1630|      0|        }
 1631|      0|    }
 1632|     11|    else
 1633|     11|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1633:26): [True: 0, False: 11]
  ------------------
 1634|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1635|      0|        if (size) {
  ------------------
  |  Branch (1635:13): [True: 0, False: 0]
  ------------------
 1636|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1637|      0|            if (fo)
  ------------------
  |  Branch (1637:17): [True: 0, False: 0]
  ------------------
 1638|      0|                fo->seek(where, SEEK_SET);
 1639|      0|            unpackExtent(size, fo,
 1640|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1641|      0|        }
 1642|      0|    }
 1643|     11|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1648|  8.58k|{
 1649|  8.58k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1650|  8.58k|    fi->seek(0, SEEK_SET);
 1651|  8.58k|    fi->readx(&mhdri, sizeof(mhdri));
 1652|       |
 1653|  8.58k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1653:9): [True: 7.01k, False: 1.56k]
  ------------------
 1654|  1.56k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1654:9): [True: 747, False: 820]
  ------------------
 1655|    820|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1655:9): [True: 21, False: 799]
  ------------------
 1656|  8.58k|    )
 1657|  7.78k|        return false;
 1658|    799|    my_cpusubtype = mhdri.cpusubtype;
 1659|       |
 1660|    799|    unsigned const ncmds = mhdri.ncmds;
 1661|    799|    int headway = (int)mhdri.sizeofcmds;
 1662|    799|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1476|    798|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1662:9): [True: 1, False: 798]
  |  Branch (1662:19): [True: 30, False: 768]
  |  Branch (1662:41): [True: 12, False: 756]
  ------------------
 1663|    756|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1663:10): [True: 51, False: 705]
  ------------------
 1664|     94|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     94|#define snprintf  upx_safe_snprintf
  ------------------
 1665|     94|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1666|     94|        throwCantUnpack(msg);
 1667|     94|    }
 1668|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1669|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1670|    705|    if ((2 == ncmds
  ------------------
  |  Branch (1670:10): [True: 14, False: 691]
  ------------------
 1671|     14|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1671:12): [True: 1, False: 13]
  ------------------
 1672|    704|    ||  (3 <= ncmds
  ------------------
  |  Branch (1672:10): [True: 683, False: 21]
  ------------------
 1673|    683|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1673:12): [True: 4, False: 679]
  ------------------
 1674|    683|                    + sizeof(Mach_main_command)))) {
 1675|      5|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1676|      5|        throwCantUnpack("file corrupted");
 1677|      5|    }
 1678|    700|    sz_mach_headers = headway + sizeof(mhdri);
 1679|    700|    if (2048 < headway) {
  ------------------
  |  Branch (1679:9): [True: 34, False: 666]
  ------------------
 1680|     34|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1681|     34|    }
 1682|    700|    if (!headway) {
  ------------------
  |  Branch (1682:9): [True: 0, False: 700]
  ------------------
 1683|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1684|      0|    }
 1685|    700|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1686|    700|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1687|    700|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1688|       |
 1689|    700|    Mach_segment_command const *ptrTEXT = nullptr;
 1690|    700|    upx_uint64_t rip = 0;
 1691|    700|    unsigned style = 0;
 1692|    700|    off_t offLINK = 0;
  ------------------
  |  |  235|    700|#define off_t upx_off_t
  ------------------
 1693|    700|    unsigned pos_next = 0;
 1694|    700|    unsigned nseg = 0;
 1695|    700|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1696|  4.04k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1696:25): [True: 3.58k, False: 455]
  ------------------
 1697|  3.58k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1698|  3.58k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1698:13): [True: 11, False: 3.57k]
  ------------------
 1699|     11|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|     11|#define snprintf  upx_safe_snprintf
  ------------------
 1700|     11|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1701|     11|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1702|     11|            throwCantPack(buf);
 1703|     11|        }
 1704|  3.57k|        unsigned const cmd = ptr->cmd;
 1705|  3.57k|        unsigned const cmdsize = ptr->cmdsize;
 1706|  3.57k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1706:13): [True: 194, False: 3.38k]
  ------------------
 1707|    194|                opt->info_mode += 1;
 1708|    194|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1709|    194|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1710|    194|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1711|    194|                opt->info_mode -= 1;
 1712|    194|                throwCantUnpack("file corrupted");
 1713|    194|        }
 1714|  3.38k|        headway -= cmdsize;
 1715|  3.38k|        if (headway < 0) {
  ------------------
  |  Branch (1715:13): [True: 0, False: 3.38k]
  ------------------
 1716|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1717|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1718|      0|                (unsigned)ptr->cmdsize);
 1719|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1720|      0|        }
 1721|  3.38k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1721:13): [True: 1.69k, False: 1.69k]
  ------------------
 1722|  1.69k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1723|  1.69k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1723:17): [True: 28, False: 1.66k]
  ------------------
 1724|  1.66k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1724:17): [True: 8, False: 1.65k]
  ------------------
 1725|  1.65k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1725:17): [True: 4, False: 1.65k]
  ------------------
 1726|     40|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1727|     40|                      "  filesize=0x%lx  fileoff=0x%lx",
 1728|     40|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1729|     40|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1730|     40|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1731|     40|                throwCantUnpack("file corrupted");
 1732|     40|            }
 1733|  1.65k|            ++nseg;
 1734|  1.65k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 73, False: 1.58k]
  ------------------
 1735|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1736|     73|                style = 391;  // UPX 3.91
 1737|     73|            }
 1738|  1.65k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 104, False: 1.54k]
  ------------------
 1739|    104|                ptrTEXT = segptr;
 1740|    104|                style = 391;  // UPX 3.91
 1741|    104|            }
 1742|  1.65k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 40, False: 1.61k]
  ------------------
 1743|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1744|     40|                style = 392;  // UPX 3.92
 1745|     40|            }
 1746|  1.65k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1746:17): [True: 503, False: 1.15k]
  ------------------
 1747|    503|                offLINK = segptr->fileoff;
 1748|    503|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1748:21): [True: 141, False: 362]
  ------------------
 1749|    141|                    style = 395;
 1750|    141|                }
 1751|    503|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1751:21): [True: 190, False: 313]
  ------------------
 1752|    190|                    offLINK = pos_next;
 1753|    190|                }
 1754|    503|            }
 1755|  1.65k|            pos_next = segptr->filesize + segptr->fileoff;
 1756|  1.65k|        }
 1757|  1.69k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1757:18): [True: 1.08k, False: 602]
  ------------------
 1758|  1.08k|            rip = entryVMA = threadc_getPC(ptr);
 1759|  1.08k|        }
 1760|  3.38k|    }
 1761|    455|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1761:9): [True: 392, False: 63]
  |  Branch (1761:20): [True: 276, False: 116]
  ------------------
 1762|    276|        style = 392;
 1763|    276|    }
 1764|    455|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1764:9): [True: 18, False: 437]
  |  Branch (1764:23): [True: 14, False: 4]
  |  Branch (1764:37): [True: 5, False: 9]
  |  Branch (1764:49): [True: 2, False: 3]
  ------------------
 1765|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1766|      2|    }
 1767|    455|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1767:9): [True: 17, False: 438]
  |  Branch (1767:23): [True: 26, False: 412]
  ------------------
 1768|     42|        return false;
 1769|     42|    }
 1770|       |
 1771|    413|    int const small = 32 + sizeof(overlay_offset);
 1772|    413|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1773|    413|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1773:9): [True: 5, False: 408]
  ------------------
 1774|      5|        fi->seek(offLINK - bufsize, SEEK_SET);
 1775|      5|    } else
 1776|    408|    if (392 == style) {
  ------------------
  |  Branch (1776:9): [True: 283, False: 125]
  ------------------
 1777|    283|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1777:13): [True: 9, False: 274]
  ------------------
 1778|      9|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1779|      9|        }
 1780|    274|        else { // PackHeader follows loader at __LINKEDIT
 1781|    274|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1781:17): [True: 239, False: 35]
  ------------------
 1782|    239|                bufsize = fi->st_size() - offLINK;
 1783|    239|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1783:21): [True: 3, False: 236]
  ------------------
 1784|      3|                    throwCantUnpack("bad offLINK %p %p",
 1785|      3|                        (void *)offLINK, (void *)file_size);
 1786|      3|                }
 1787|    239|            }
 1788|    271|            fi->seek(offLINK, SEEK_SET);
 1789|    271|        }
 1790|    283|    } else
 1791|    125|    if (395 == style) {
  ------------------
  |  Branch (1791:9): [True: 124, False: 1]
  ------------------
 1792|    124|        fi->seek(offLINK - bufsize, SEEK_SET);
 1793|    124|    }
 1794|    410|    MemBuffer buf(bufsize);
 1795|    410|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1796|    410|    buf3.clear();
 1797|       |
 1798|    410|    fi->readx(buf, bufsize);
 1799|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1800|       |
 1801|    410|    int i = bufsize;
 1802|  23.5k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1802:12): [True: 23.4k, False: 143]
  |  Branch (1802:25): [True: 23.1k, False: 267]
  ------------------
 1803|    410|    i -= small;
 1804|       |    // allow incompressible extents
 1805|    410|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1805:9): [True: 144, False: 266]
  |  Branch (1805:18): [True: 266, False: 0]
  ------------------
 1806|       |        // Breadcrumbs failed.
 1807|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1808|    398|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1808:38): [True: 68, False: 330]
  ------------------
 1809|    398|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1809:13): [True: 68, False: 330]
  |  Branch (1809:24): [True: 64, False: 4]
  |  Branch (1809:31): [True: 2, False: 62]
  ------------------
 1810|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1811|      2|            fi->readx(buf3, bufsize);
 1812|      2|            unsigned char const *b = &buf3[0];
 1813|      2|            unsigned disp = *(TE32 const *)&b[1];
 1814|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1814:17): [True: 0, False: 2]
  ------------------
 1815|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1815:21): [True: 0, False: 0]
  |  Branch (1815:35): [True: 0, False: 0]
  ------------------
 1816|       |                    // disp and the b_info that follow it are used as raw offsets
 1817|       |                    // into buf3, which holds only bufsize bytes that were read.
 1818|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1818:24): [True: 0, False: 0]
  ------------------
 1819|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1820|       |                    // searching for "executable_path=" etc.
 1821|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1821:21): [True: 0, False: 0]
  |  Branch (1821:40): [True: 0, False: 0]
  ------------------
 1822|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1823|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1823:25): [True: 0, False: 0]
  |  Branch (1823:46): [True: 0, False: 0]
  ------------------
 1824|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1825|       |                        // This is the folded stub.
 1826|       |                        // FIXME: check b_method?
 1827|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1827:29): [True: 0, False: 0]
  |  Branch (1827:60): [True: 0, False: 0]
  ------------------
 1828|       |                            // overlay_offset is read at (32 + b); keep that read
 1829|       |                            // inside the bytes that were read into buf3.
 1830|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1830:28): [True: 0, False: 0]
  ------------------
 1831|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1832|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1833|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1834|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1835|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1835:33): [True: 0, False: 0]
  ------------------
 1836|      0|                                return true;  // success
 1837|      0|                            }
 1838|      0|                            overlay_offset = 0;  // failure
 1839|      0|                        }
 1840|      0|                    }
 1841|      0|                }
 1842|      0|            }
 1843|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1843:17): [True: 0, False: 2]
  ------------------
 1844|      0|                infoWarning("file corrupted: %s", fi->getName());
 1845|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1846|      0|                fi->readx(buf3, bufsize);
 1847|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1848|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1848:24): [True: 0, False: 0]
  ------------------
 1849|      0|                    unsigned x = *p;
 1850|      0|                    if (x) {
  ------------------
  |  Branch (1850:25): [True: 0, False: 0]
  ------------------
 1851|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1851:29): [True: 0, False: 0]
  |  Branch (1851:40): [True: 0, False: 0]
  ------------------
 1852|      0|                            fi->seek(0, SEEK_SET);
 1853|      0|                            fi->readx(buf3, bufsize);
 1854|      0|                            p = (unsigned const *)&buf3[x];
 1855|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1855:33): [True: 0, False: 0]
  |  Branch (1855:46): [True: 0, False: 0]
  |  Branch (1855:59): [True: 0, False: 0]
  ------------------
 1856|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1856:33): [True: 0, False: 0]
  |  Branch (1856:59): [True: 0, False: 0]
  ------------------
 1857|      0|                            ) {
 1858|      0|                                overlay_offset = x;
 1859|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1860|      0|                                    overlay_offset);
 1861|      0|                                return true;
 1862|      0|                            }
 1863|      0|                        }
 1864|      0|                        break;
 1865|      0|                    }
 1866|      0|                }
 1867|      0|            }
 1868|      2|        }
 1869|    398|        if (391==style) {
  ------------------
  |  Branch (1869:13): [True: 1, False: 397]
  ------------------
 1870|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1871|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1871:20): [True: 0, False: 1]
  ------------------
 1872|      1|            overlay_offset = *uptr;
 1873|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1873:17): [True: 0, False: 1]
  |  Branch (1873:55): [True: 0, False: 0]
  ------------------
 1874|      0|                return true;  // success
 1875|      0|            }
 1876|      1|            overlay_offset = 0;
 1877|      1|            return false;
 1878|      1|        }
 1879|    397|        if (392==style) {
  ------------------
  |  Branch (1879:13): [True: 278, False: 119]
  ------------------
 1880|    278|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1881|       |            // p_info isn't used for execution, so it has less value for checking:
 1882|       |            //      0== .p_progid
 1883|       |            //      .p_filesize == .p_blocksize
 1884|    278|            fi->seek(overlay_offset, SEEK_SET);
 1885|    278|            fi->readx(buf3, bufsize);
 1886|    278|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1887|    278|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1888|    278|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1889|    278|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1889:17): [True: 155, False: 123]
  ------------------
 1890|    155|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1890:17): [True: 24, False: 131]
  ------------------
 1891|     24|                unsigned const method = b_ptr->b_method;
 1892|     24|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  633|     24|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  639|     20|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1892:22): [True: 4, False: 20]
  |  Branch (1892:48): [True: 4, False: 16]
  ------------------
 1893|      8|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1893:21): [True: 4, False: 4]
  ------------------
 1894|      4|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1894:21): [True: 1, False: 3]
  ------------------
 1895|      1|                    return true;
 1896|      1|                }
 1897|     23|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1898|     23|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  634|     23|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  640|     18|#define M_NRV2E_8     9
  ------------------
  |  Branch (1898:22): [True: 5, False: 18]
  |  Branch (1898:45): [True: 1, False: 17]
  ------------------
 1899|      6|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1899:20): [True: 2, False: 4]
  ------------------
 1900|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1900:21): [True: 1, False: 1]
  ------------------
 1901|      1|                    return true;
 1902|      1|                }
 1903|       |                // FIXME: M_LZMA
 1904|     23|            }
 1905|       |
 1906|    276|            overlay_offset = 0;
 1907|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1908|       |            // is the total length of compressed data which precedes it
 1909|       |            //(distance to l_info), so that's another method.
 1910|    276|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1911|    276|            fi->readx(buf3, 0x1000);
 1912|    276|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1913|    276|            unsigned const *p;
 1914|  33.2k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1914:55): [True: 33.1k, False: 101]
  |  Branch (1914:69): [True: 1.54k, False: 31.6k]
  ------------------
 1915|  1.54k|                overlay_offset  = *(TE32 const *)p;
 1916|  1.54k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1916:21): [True: 118, False: 1.42k]
  ------------------
 1917|    118|                    throwCantUnpack("file corrupted");
 1918|  1.42k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1918:21): [True: 1.21k, False: 209]
  ------------------
 1919|  1.21k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1920|  1.21k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1921|  1.21k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1921:25): [True: 7, False: 1.21k]
  ------------------
 1922|      7|                        throwCantUnpack("file corrupted");
 1923|  1.21k|                    fi->seek(overlay_offset, SEEK_SET);
 1924|  1.21k|                    fi->readx(buf3, bufsize);
 1925|  1.21k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1925:25): [True: 658, False: 553]
  ------------------
 1926|    658|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1926:25): [True: 50, False: 608]
  ------------------
 1927|     50|                        return true;
 1928|     50|                    }
 1929|  1.21k|                }
 1930|  1.42k|            }
 1931|    276|        }
 1932|    397|    }
 1933|       |
 1934|    232|    overlay_offset = 0;  // impossible value
 1935|    232|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1936|    232|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1936:9): [True: 143, False: 89]
  |  Branch (1936:19): [True: 142, False: 1]
  ------------------
 1937|    142|        overlay_offset = get_te32(buf + i + l);
 1938|    142|    }
 1939|    232|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:16): [True: 106, False: 126]
  ------------------
 1940|    126|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1940:9): [True: 76, False: 50]
  ------------------
 1941|     93|        infoWarning("file corrupted: %s", fi->getName());
 1942|     93|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1943|     93|        fi->seek(sz_mach_headers, SEEK_SET);
 1944|     93|        fi->readx(buf2, buf2.getSize());
 1945|     93|        unsigned const *p = (unsigned const *)&buf2[0];
 1946|     93|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1947|   125k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1947:16): [True: 125k, False: 75]
  ------------------
 1948|   125k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1948:16): [True: 38.3k, False: 86.8k]
  ------------------
 1949|  38.3k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1949:16): [True: 9.69k, False: 28.6k]
  ------------------
 1950|  9.69k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1950:13): [True: 1.74k, False: 7.94k]
  ------------------
 1951|  1.74k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1951:13): [True: 944, False: 798]
  ------------------
 1952|    944|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1952:13): [True: 101, False: 843]
  ------------------
 1953|   125k|        ) {
 1954|    101|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1955|    101|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1955:19): [True: 83, False: 18]
  ------------------
 1956|     18|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1956:31): [True: 0, False: 18]
  ------------------
 1957|     18|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1957:24): [True: 0, False: 18]
  ------------------
 1958|     18|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1959|     18|                return true;
 1960|     18|            }
 1961|    101|        }
 1962|     75|        throwCantUnpack("file corrupted");
 1963|     93|    }
 1964|    139|    return true;
 1965|    232|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  13.2k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  13.2k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  13.2k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  13.2k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  13.2k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  13.2k|{
  225|  13.2k|    MachClass::compileTimeAssertions();
  226|  13.2k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  13.2k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  13.2k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  13.2k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  13.2k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  13.2k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  13.2k|{
  236|  13.2k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1480|    658|{
 1481|    658|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1482|    658|    fi->seek(0, SEEK_SET);
 1483|    658|    fi->readx(&mhdri, sizeof(mhdri));
 1484|    658|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1484:9): [True: 0, False: 658]
  ------------------
 1485|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 0]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    658|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1489|    658|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1489:9): [True: 1, False: 657]
  ------------------
 1490|      1|        throwCantUnpack("file header corrupted");
 1491|      1|    }
 1492|    657|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1493|    657|    rawmseg_buf.alloc(sz_cmds);
 1494|    657|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1495|    657|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1496|       |
 1497|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1498|       |    // but canUnpack() sets overlay_offset anyway.
 1499|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1500|       |
 1501|    657|    fi->seek(overlay_offset, SEEK_SET);
 1502|    657|    p_info hbuf;
 1503|    657|    fi->readx(&hbuf, sizeof(hbuf));
 1504|    657|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1505|    657|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1506|    657|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  179|    640|#define UPX_RSIZE_MAX_MEM    (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1506:9): [True: 17, False: 640]
  |  Branch (1506:39): [True: 13, False: 627]
  ------------------
 1507|     26|        throwCantUnpack("file header corrupted");
 1508|    631|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1508:9): [True: 58, False: 573]
  ------------------
 1509|     58|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1509:27): [True: 58, False: 0]
  ------------------
 1510|     58|        opt->backup = 1;
 1511|     58|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1512|     58|    }
 1513|       |
 1514|    631|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
 1515|    631|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1516|    631|    fi->readx(&bhdr, sizeof(bhdr));
 1517|    631|    ph.u_len = get_te32(&bhdr.sz_unc);
 1518|    631|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1519|    631|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len < sizeof(mhdri))
  ------------------
  |  Branch (1519:9): [True: 82, False: 549]
  |  Branch (1519:43): [True: 15, False: 534]
  |  Branch (1519:60): [True: 8, False: 526]
  ------------------
 1520|     98|        throwCantUnpack("file header corrupted");
 1521|    533|    ph.method = bhdr.b_method;
 1522|    533|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  633|  1.06k|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1522:9): [True: 18, False: 515]
  ------------------
 1523|    515|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  648|    515|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1523:9): [True: 10, False: 505]
  ------------------
 1524|     21|        throwCantUnpack("file header bad method");
 1525|    512|    ph.filter = bhdr.b_ftid;
 1526|    512|    ph.filter_cto = bhdr.b_cto8;
 1527|       |
 1528|       |    // Uncompress Macho headers
 1529|    512|    fi->readx(ibuf, ph.c_len);
 1530|    512|    MemBuffer mhdr_buf(ph.u_len);
 1531|    512|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1532|    512|    decompress(ibuf, (upx_byte *)mhdr, false);
 1533|    512|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1533:9): [True: 498, False: 14]
  ------------------
 1534|     14|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1534:9): [True: 1, False: 13]
  ------------------
 1535|     13|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1535:9): [True: 1, False: 12]
  ------------------
 1536|     12|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1536:9): [True: 0, False: 12]
  ------------------
 1537|      3|        throwCantUnpack("file header corrupted");
 1538|    509|    unsigned const ncmds = mhdr->ncmds;
 1539|    509|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1476|     12|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1539:9): [True: 497, False: 12]
  |  Branch (1539:19): [True: 0, False: 12]
  ------------------
 1540|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1541|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1542|      0|        throwCantUnpack(msg);
 1543|      0|    }
 1544|       |
 1545|    509|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1546|    509|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1547|    509|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1548|    509|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1549|    680|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1549:25): [True: 171, False: 509]
  ------------------
 1550|    171|        if (headway < sizeof(Mach_command))
  ------------------
  |  Branch (1550:13): [True: 0, False: 171]
  ------------------
 1551|      0|            throwCantUnpack("bad packed Mach load_command");
 1552|    171|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1553|    171|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1553:13): [True: 0, False: 171]
  ------------------
 1554|    171|                headway, lc_seg, sizeof(Addr))) {
 1555|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1556|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1557|      0|            throwCantUnpack(msg);
 1558|      0|        }
 1559|    171|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  528|    171|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1560|    171|        headway -= cmdsize;
 1561|    171|        ptr     += cmdsize;
 1562|    171|    }
 1563|       |
 1564|       |    // Put LC_SEGMENT together at the beginning
 1565|    509|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  245|    509|#define upx_qsort ::qsort
  ------------------
 1566|    509|    n_segment = 0;
 1567|    680|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1567:25): [True: 171, False: 509]
  ------------------
 1568|    171|        n_segment += (lc_seg==msegcmd[j].cmd);
 1569|    171|    }
 1570|       |
 1571|    509|    total_in = 0;
 1572|    509|    total_out = 0;
 1573|    509|    unsigned c_adler = upx_adler32(nullptr, 0);
 1574|    509|    unsigned u_adler = upx_adler32(nullptr, 0);
 1575|       |
 1576|    509|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1577|    615|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1577:26): [True: 106, False: 509]
  ------------------
 1578|    106|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1578:13): [True: 56, False: 50]
  |  Branch (1578:39): [True: 44, False: 12]
  ------------------
 1579|     44|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1579:17): [True: 12, False: 32]
  ------------------
 1580|     12|                segTEXT = msegcmd[k];
 1581|     12|            }
 1582|     44|            if (fo)
  ------------------
  |  Branch (1582:17): [True: 44, False: 0]
  ------------------
 1583|     44|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1584|     44|            unpackExtent(msegcmd[k].filesize, fo,
 1585|     44|                c_adler, u_adler, false, sizeof(bhdr));
 1586|     44|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1586:17): [True: 0, False: 44]
  ------------------
 1587|      0|                break;  // only the first lc_seg when MH_DYLIB
 1588|      0|            }
 1589|     44|        }
 1590|    106|    }
 1591|    509|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1592|    509|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1592:9): [True: 0, False: 509]
  ------------------
 1593|       |        // rawmseg holds mhdri.ncmds load commands (canUnpack bounds-checked them),
 1594|       |        // but the walk below counts with ncmds from the decompressed header
 1595|      0|        if (mhdri.ncmds != mhdr->ncmds)
  ------------------
  |  Branch (1595:13): [True: 0, False: 0]
  ------------------
 1596|      0|            throwCantUnpack("file header corrupted");
 1597|      0|        upx_uint64_t cpr_mod_init_func(0);
 1598|      0|                TE32 unc_mod_init_func = {}; // *(int *)&unc_mod_init_func = 0;
 1599|      0|        Mach_segment_command const *rc = rawmseg;
 1600|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1601|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1602|      0|        for (
 1603|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1604|      0|            k < ncmds;
  ------------------
  |  Branch (1604:13): [True: 0, False: 0]
  ------------------
 1605|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1606|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1607|      0|        ) {
 1608|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1608:17): [True: 0, False: 0]
  ------------------
 1609|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1609:17): [True: 0, False: 0]
  ------------------
 1610|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1610:21): [True: 0, False: 0]
  ------------------
 1611|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1612|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1613|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1614|      0|                }
 1615|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1616|      0|                if (fo)
  ------------------
  |  Branch (1616:21): [True: 0, False: 0]
  ------------------
 1617|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1618|      0|                unsigned const len = rc->filesize;
 1619|      0|                MemBuffer data(len);
 1620|      0|                fi->readx(data, len);
 1621|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1621:21): [True: 0, False: 0]
  ------------------
 1622|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1623|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1623:25): [True: 0, False: 0]
  |  Branch (1623:60): [True: 0, False: 0]
  ------------------
 1624|      0|                        throwCantUnpack("bad __mod_init_func");
 1625|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1626|      0|                }
 1627|      0|                if (fo)
  ------------------
  |  Branch (1627:21): [True: 0, False: 0]
  ------------------
 1628|      0|                    fo->write(data, len);
 1629|      0|            }
 1630|      0|        }
 1631|      0|    }
 1632|    509|    else
 1633|    551|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1633:26): [True: 42, False: 509]
  ------------------
 1634|     42|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1635|     42|        if (size) {
  ------------------
  |  Branch (1635:13): [True: 12, False: 30]
  ------------------
 1636|     12|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1637|     12|            if (fo)
  ------------------
  |  Branch (1637:17): [True: 12, False: 0]
  ------------------
 1638|     12|                fo->seek(where, SEEK_SET);
 1639|     12|            unpackExtent(size, fo,
 1640|     12|                c_adler, u_adler, false, sizeof(bhdr));
 1641|     12|        }
 1642|     42|    }
 1643|    509|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1648|  13.2k|{
 1649|  13.2k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1650|  13.2k|    fi->seek(0, SEEK_SET);
 1651|  13.2k|    fi->readx(&mhdri, sizeof(mhdri));
 1652|       |
 1653|  13.2k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1653:9): [True: 8.41k, False: 4.79k]
  ------------------
 1654|  4.79k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1654:9): [True: 2.28k, False: 2.50k]
  ------------------
 1655|  2.50k|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1655:9): [True: 795, False: 1.71k]
  ------------------
 1656|  13.2k|    )
 1657|  11.4k|        return false;
 1658|  1.71k|    my_cpusubtype = mhdri.cpusubtype;
 1659|       |
 1660|  1.71k|    unsigned const ncmds = mhdri.ncmds;
 1661|  1.71k|    int headway = (int)mhdri.sizeofcmds;
 1662|  1.71k|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1476|  1.71k|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1662:9): [True: 1, False: 1.71k]
  |  Branch (1662:19): [True: 38, False: 1.67k]
  |  Branch (1662:41): [True: 4, False: 1.67k]
  ------------------
 1663|  1.67k|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1663:10): [True: 42, False: 1.62k]
  ------------------
 1664|     85|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     85|#define snprintf  upx_safe_snprintf
  ------------------
 1665|     85|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1666|     85|        throwCantUnpack(msg);
 1667|     85|    }
 1668|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1669|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1670|  1.62k|    if ((2 == ncmds
  ------------------
  |  Branch (1670:10): [True: 22, False: 1.60k]
  ------------------
 1671|     22|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1671:12): [True: 2, False: 20]
  ------------------
 1672|  1.62k|    ||  (3 <= ncmds
  ------------------
  |  Branch (1672:10): [True: 1.60k, False: 23]
  ------------------
 1673|  1.60k|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1673:12): [True: 1, False: 1.60k]
  ------------------
 1674|  1.60k|                    + sizeof(Mach_main_command)))) {
 1675|      3|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1676|      3|        throwCantUnpack("file corrupted");
 1677|      3|    }
 1678|  1.62k|    sz_mach_headers = headway + sizeof(mhdri);
 1679|  1.62k|    if (2048 < headway) {
  ------------------
  |  Branch (1679:9): [True: 85, False: 1.54k]
  ------------------
 1680|     85|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1681|     85|    }
 1682|  1.62k|    if (!headway) {
  ------------------
  |  Branch (1682:9): [True: 0, False: 1.62k]
  ------------------
 1683|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1684|      0|    }
 1685|  1.62k|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1686|  1.62k|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1687|  1.62k|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1688|       |
 1689|  1.62k|    Mach_segment_command const *ptrTEXT = nullptr;
 1690|  1.62k|    upx_uint64_t rip = 0;
 1691|  1.62k|    unsigned style = 0;
 1692|  1.62k|    off_t offLINK = 0;
  ------------------
  |  |  235|  1.62k|#define off_t upx_off_t
  ------------------
 1693|  1.62k|    unsigned pos_next = 0;
 1694|  1.62k|    unsigned nseg = 0;
 1695|  1.62k|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1696|  10.4k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1696:25): [True: 9.18k, False: 1.30k]
  ------------------
 1697|  9.18k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1698|  9.18k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1698:13): [True: 4, False: 9.18k]
  ------------------
 1699|      4|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      4|#define snprintf  upx_safe_snprintf
  ------------------
 1700|      4|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1701|      4|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1702|      4|            throwCantPack(buf);
 1703|      4|        }
 1704|  9.18k|        unsigned const cmd = ptr->cmd;
 1705|  9.18k|        unsigned const cmdsize = ptr->cmdsize;
 1706|  9.18k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1706:13): [True: 181, False: 9.00k]
  ------------------
 1707|    181|                opt->info_mode += 1;
 1708|    181|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1709|    181|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1710|    181|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1711|    181|                opt->info_mode -= 1;
 1712|    181|                throwCantUnpack("file corrupted");
 1713|    181|        }
 1714|  9.00k|        headway -= cmdsize;
 1715|  9.00k|        if (headway < 0) {
  ------------------
  |  Branch (1715:13): [True: 0, False: 9.00k]
  ------------------
 1716|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1717|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1718|      0|                (unsigned)ptr->cmdsize);
 1719|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1720|      0|        }
 1721|  9.00k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1721:13): [True: 4.34k, False: 4.65k]
  ------------------
 1722|  4.34k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1723|  4.34k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1723:17): [True: 61, False: 4.28k]
  ------------------
 1724|  4.28k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1724:17): [True: 76, False: 4.20k]
  ------------------
 1725|  4.20k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1725:17): [True: 1, False: 4.20k]
  ------------------
 1726|    138|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1727|    138|                      "  filesize=0x%lx  fileoff=0x%lx",
 1728|    138|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1729|    138|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1730|    138|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1731|    138|                throwCantUnpack("file corrupted");
 1732|    138|            }
 1733|  4.20k|            ++nseg;
 1734|  4.20k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 47, False: 4.15k]
  ------------------
 1735|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1736|     47|                style = 391;  // UPX 3.91
 1737|     47|            }
 1738|  4.20k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 454, False: 3.74k]
  ------------------
 1739|    454|                ptrTEXT = segptr;
 1740|    454|                style = 391;  // UPX 3.91
 1741|    454|            }
 1742|  4.20k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 27, False: 4.17k]
  ------------------
 1743|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1744|     27|                style = 392;  // UPX 3.92
 1745|     27|            }
 1746|  4.20k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1746:17): [True: 1.29k, False: 2.91k]
  ------------------
 1747|  1.29k|                offLINK = segptr->fileoff;
 1748|  1.29k|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1748:21): [True: 43, False: 1.24k]
  ------------------
 1749|     43|                    style = 395;
 1750|     43|                }
 1751|  1.29k|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1751:21): [True: 1.00k, False: 289]
  ------------------
 1752|  1.00k|                    offLINK = pos_next;
 1753|  1.00k|                }
 1754|  1.29k|            }
 1755|  4.20k|            pos_next = segptr->filesize + segptr->fileoff;
 1756|  4.20k|        }
 1757|  4.65k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1757:18): [True: 706, False: 3.95k]
  ------------------
 1758|    706|            rip = entryVMA = threadc_getPC(ptr);
 1759|    706|        }
 1760|  9.00k|    }
 1761|  1.30k|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1761:9): [True: 1.26k, False: 43]
  |  Branch (1761:20): [True: 1.22k, False: 32]
  ------------------
 1762|  1.22k|        style = 392;
 1763|  1.22k|    }
 1764|  1.30k|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1764:9): [True: 21, False: 1.28k]
  |  Branch (1764:23): [True: 18, False: 3]
  |  Branch (1764:37): [True: 12, False: 6]
  |  Branch (1764:49): [True: 9, False: 3]
  ------------------
 1765|      9|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1766|      9|    }
 1767|  1.30k|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1767:9): [True: 19, False: 1.28k]
  |  Branch (1767:23): [True: 41, False: 1.24k]
  ------------------
 1768|     51|        return false;
 1769|     51|    }
 1770|       |
 1771|  1.25k|    int const small = 32 + sizeof(overlay_offset);
 1772|  1.25k|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1773|  1.25k|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1773:9): [True: 9, False: 1.24k]
  ------------------
 1774|      9|        fi->seek(offLINK - bufsize, SEEK_SET);
 1775|      9|    } else
 1776|  1.24k|    if (392 == style) {
  ------------------
  |  Branch (1776:9): [True: 1.20k, False: 41]
  ------------------
 1777|  1.20k|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1777:13): [True: 41, False: 1.16k]
  ------------------
 1778|     41|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1779|     41|        }
 1780|  1.16k|        else { // PackHeader follows loader at __LINKEDIT
 1781|  1.16k|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1781:17): [True: 1.13k, False: 27]
  ------------------
 1782|  1.13k|                bufsize = fi->st_size() - offLINK;
 1783|  1.13k|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1783:21): [True: 1, False: 1.13k]
  ------------------
 1784|      1|                    throwCantUnpack("bad offLINK %p %p",
 1785|      1|                        (void *)offLINK, (void *)file_size);
 1786|      1|                }
 1787|  1.13k|            }
 1788|  1.16k|            fi->seek(offLINK, SEEK_SET);
 1789|  1.16k|        }
 1790|  1.20k|    } else
 1791|     41|    if (395 == style) {
  ------------------
  |  Branch (1791:9): [True: 32, False: 9]
  ------------------
 1792|     32|        fi->seek(offLINK - bufsize, SEEK_SET);
 1793|     32|    }
 1794|  1.25k|    MemBuffer buf(bufsize);
 1795|  1.25k|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1796|  1.25k|    buf3.clear();
 1797|       |
 1798|  1.25k|    fi->readx(buf, bufsize);
 1799|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1800|       |
 1801|  1.25k|    int i = bufsize;
 1802|   179k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1802:12): [True: 179k, False: 148]
  |  Branch (1802:25): [True: 178k, False: 1.10k]
  ------------------
 1803|  1.25k|    i -= small;
 1804|       |    // allow incompressible extents
 1805|  1.25k|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1805:9): [True: 150, False: 1.10k]
  |  Branch (1805:18): [True: 436, False: 665]
  ------------------
 1806|       |        // Breadcrumbs failed.
 1807|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1808|    567|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1808:38): [True: 390, False: 177]
  ------------------
 1809|    567|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1809:13): [True: 390, False: 177]
  |  Branch (1809:24): [True: 378, False: 12]
  |  Branch (1809:31): [True: 215, False: 163]
  ------------------
 1810|    215|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1811|    215|            fi->readx(buf3, bufsize);
 1812|    215|            unsigned char const *b = &buf3[0];
 1813|    215|            unsigned disp = *(TE32 const *)&b[1];
 1814|    215|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1814:17): [True: 77, False: 138]
  ------------------
 1815|     77|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1815:21): [True: 72, False: 5]
  |  Branch (1815:35): [True: 53, False: 19]
  ------------------
 1816|       |                    // disp and the b_info that follow it are used as raw offsets
 1817|       |                    // into buf3, which holds only bufsize bytes that were read.
 1818|     53|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1818:24): [True: 50, False: 3]
  ------------------
 1819|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1820|       |                    // searching for "executable_path=" etc.
 1821|     50|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1821:21): [True: 47, False: 3]
  |  Branch (1821:40): [True: 46, False: 1]
  ------------------
 1822|     46|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1823|     46|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1823:25): [True: 23, False: 23]
  |  Branch (1823:46): [True: 22, False: 1]
  ------------------
 1824|     22|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1825|       |                        // This is the folded stub.
 1826|       |                        // FIXME: check b_method?
 1827|     22|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1827:29): [True: 20, False: 2]
  |  Branch (1827:60): [True: 15, False: 5]
  ------------------
 1828|       |                            // overlay_offset is read at (32 + b); keep that read
 1829|       |                            // inside the bytes that were read into buf3.
 1830|     15|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1830:28): [True: 14, False: 1]
  ------------------
 1831|     15|                                + 32 + sizeof(TE32)) <= bufsize) {
 1832|     14|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1833|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1834|     14|                            overlay_offset = *(TE32 const *)(32 + b);
 1835|     14|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1835:33): [True: 2, False: 12]
  ------------------
 1836|      2|                                return true;  // success
 1837|      2|                            }
 1838|     12|                            overlay_offset = 0;  // failure
 1839|     12|                        }
 1840|     22|                    }
 1841|     46|                }
 1842|     77|            }
 1843|    213|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1843:17): [True: 1, False: 212]
  ------------------
 1844|      1|                infoWarning("file corrupted: %s", fi->getName());
 1845|      1|                fi->seek(file_size - bufsize, SEEK_SET);
 1846|      1|                fi->readx(buf3, bufsize);
 1847|      1|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1848|      1|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1848:24): [True: 0, False: 1]
  ------------------
 1849|      0|                    unsigned x = *p;
 1850|      0|                    if (x) {
  ------------------
  |  Branch (1850:25): [True: 0, False: 0]
  ------------------
 1851|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1851:29): [True: 0, False: 0]
  |  Branch (1851:40): [True: 0, False: 0]
  ------------------
 1852|      0|                            fi->seek(0, SEEK_SET);
 1853|      0|                            fi->readx(buf3, bufsize);
 1854|      0|                            p = (unsigned const *)&buf3[x];
 1855|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1855:33): [True: 0, False: 0]
  |  Branch (1855:46): [True: 0, False: 0]
  |  Branch (1855:59): [True: 0, False: 0]
  ------------------
 1856|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1856:33): [True: 0, False: 0]
  |  Branch (1856:59): [True: 0, False: 0]
  ------------------
 1857|      0|                            ) {
 1858|      0|                                overlay_offset = x;
 1859|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1860|      0|                                    overlay_offset);
 1861|      0|                                return true;
 1862|      0|                            }
 1863|      0|                        }
 1864|      0|                        break;
 1865|      0|                    }
 1866|      0|                }
 1867|      1|            }
 1868|    213|        }
 1869|    565|        if (391==style) {
  ------------------
  |  Branch (1869:13): [True: 1, False: 564]
  ------------------
 1870|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1871|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1871:20): [True: 0, False: 1]
  ------------------
 1872|      1|            overlay_offset = *uptr;
 1873|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1873:17): [True: 0, False: 1]
  |  Branch (1873:55): [True: 0, False: 0]
  ------------------
 1874|      0|                return true;  // success
 1875|      0|            }
 1876|      1|            overlay_offset = 0;
 1877|      1|            return false;
 1878|      1|        }
 1879|    564|        if (392==style) {
  ------------------
  |  Branch (1879:13): [True: 408, False: 156]
  ------------------
 1880|    408|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1881|       |            // p_info isn't used for execution, so it has less value for checking:
 1882|       |            //      0== .p_progid
 1883|       |            //      .p_filesize == .p_blocksize
 1884|    408|            fi->seek(overlay_offset, SEEK_SET);
 1885|    408|            fi->readx(buf3, bufsize);
 1886|    408|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1887|    408|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1888|    408|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1889|    408|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1889:17): [True: 166, False: 242]
  ------------------
 1890|    166|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1890:17): [True: 48, False: 118]
  ------------------
 1891|     48|                unsigned const method = b_ptr->b_method;
 1892|     48|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  633|     48|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  639|     38|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1892:22): [True: 10, False: 38]
  |  Branch (1892:48): [True: 4, False: 34]
  ------------------
 1893|     14|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1893:21): [True: 6, False: 8]
  ------------------
 1894|      6|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1894:21): [True: 3, False: 3]
  ------------------
 1895|      3|                    return true;
 1896|      3|                }
 1897|     45|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1898|     45|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  634|     45|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  640|     42|#define M_NRV2E_8     9
  ------------------
  |  Branch (1898:22): [True: 3, False: 42]
  |  Branch (1898:45): [True: 7, False: 35]
  ------------------
 1899|     10|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1899:20): [True: 6, False: 4]
  ------------------
 1900|      6|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1900:21): [True: 3, False: 3]
  ------------------
 1901|      3|                    return true;
 1902|      3|                }
 1903|       |                // FIXME: M_LZMA
 1904|     45|            }
 1905|       |
 1906|    402|            overlay_offset = 0;
 1907|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1908|       |            // is the total length of compressed data which precedes it
 1909|       |            //(distance to l_info), so that's another method.
 1910|    402|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1911|    402|            fi->readx(buf3, 0x1000);
 1912|    402|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1913|    402|            unsigned const *p;
 1914|  75.0k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1914:55): [True: 74.8k, False: 205]
  |  Branch (1914:69): [True: 4.04k, False: 70.8k]
  ------------------
 1915|  4.04k|                overlay_offset  = *(TE32 const *)p;
 1916|  4.04k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1916:21): [True: 136, False: 3.90k]
  ------------------
 1917|    136|                    throwCantUnpack("file corrupted");
 1918|  3.90k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1918:21): [True: 3.56k, False: 348]
  ------------------
 1919|  3.56k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1920|  3.56k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1921|  3.56k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1921:25): [True: 24, False: 3.53k]
  ------------------
 1922|     24|                        throwCantUnpack("file corrupted");
 1923|  3.53k|                    fi->seek(overlay_offset, SEEK_SET);
 1924|  3.53k|                    fi->readx(buf3, bufsize);
 1925|  3.53k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1925:25): [True: 2.25k, False: 1.28k]
  ------------------
 1926|  2.25k|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1926:25): [True: 37, False: 2.21k]
  ------------------
 1927|     37|                        return true;
 1928|     37|                    }
 1929|  3.53k|                }
 1930|  3.90k|            }
 1931|    402|        }
 1932|    564|    }
 1933|       |
 1934|  1.04k|    overlay_offset = 0;  // impossible value
 1935|  1.04k|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1936|  1.04k|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1936:9): [True: 737, False: 308]
  |  Branch (1936:19): [True: 736, False: 1]
  ------------------
 1937|    736|        overlay_offset = get_te32(buf + i + l);
 1938|    736|    }
 1939|  1.04k|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:16): [True: 321, False: 724]
  ------------------
 1940|    724|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1940:9): [True: 106, False: 618]
  ------------------
 1941|    119|        infoWarning("file corrupted: %s", fi->getName());
 1942|    119|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1943|    119|        fi->seek(sz_mach_headers, SEEK_SET);
 1944|    119|        fi->readx(buf2, buf2.getSize());
 1945|    119|        unsigned const *p = (unsigned const *)&buf2[0];
 1946|    119|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1947|   171k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1947:16): [True: 171k, False: 110]
  ------------------
 1948|   171k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1948:16): [True: 63.0k, False: 108k]
  ------------------
 1949|  63.0k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1949:16): [True: 11.6k, False: 51.3k]
  ------------------
 1950|  11.6k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1950:13): [True: 1.80k, False: 9.84k]
  ------------------
 1951|  1.80k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1951:13): [True: 947, False: 862]
  ------------------
 1952|    947|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1952:13): [True: 228, False: 719]
  ------------------
 1953|   171k|        ) {
 1954|    228|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1955|    228|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1955:19): [True: 219, False: 9]
  ------------------
 1956|      9|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1956:31): [True: 0, False: 9]
  ------------------
 1957|      9|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1957:24): [True: 0, False: 9]
  ------------------
 1958|      9|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1959|      9|                return true;
 1960|      9|            }
 1961|    228|        }
 1962|    110|        throwCantUnpack("file corrupted");
 1963|    119|    }
 1964|    926|    return true;
 1965|  1.04k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE16find_SEGMENT_gapEjj:
 1118|     42|{
 1119|     42|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1120|     42|    if (lc_seg!=msegcmd[k].cmd
  ------------------
  |  Branch (1120:9): [True: 16, False: 26]
  ------------------
 1121|     26|    ||  0==msegcmd[k].filesize ) {
  ------------------
  |  Branch (1121:9): [True: 6, False: 20]
  ------------------
 1122|     22|        return 0;
 1123|     22|    }
 1124|     20|    unsigned const hi = msegcmd[k].fileoff + msegcmd[k].filesize;
 1125|     20|    unsigned lo = pos_eof;
 1126|     20|    unsigned j = k;
 1127|     86|    for (;;) { // circular search, optimize for adjacent ascending
 1128|     86|        ++j;
 1129|     86|        if (n_segment==j) {
  ------------------
  |  Branch (1129:13): [True: 14, False: 72]
  ------------------
 1130|     14|            j = 0;
 1131|     14|        }
 1132|     86|        if (k==j) {
  ------------------
  |  Branch (1132:13): [True: 14, False: 72]
  ------------------
 1133|     14|            break;
 1134|     14|        }
 1135|     72|        if (lc_seg==msegcmd[j].cmd
  ------------------
  |  Branch (1135:13): [True: 72, False: 0]
  ------------------
 1136|     72|        &&  0!=msegcmd[j].filesize ) {
  ------------------
  |  Branch (1136:13): [True: 58, False: 14]
  ------------------
 1137|     58|            unsigned const t = (unsigned) msegcmd[j].fileoff;
 1138|     58|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (1138:17): [True: 18, False: 40]
  ------------------
 1139|     18|                lo = t;
 1140|     18|                if (hi==lo) {
  ------------------
  |  Branch (1140:21): [True: 6, False: 12]
  ------------------
 1141|      6|                    break;
 1142|      6|                }
 1143|     18|            }
 1144|     58|        }
 1145|     72|    }
 1146|     20|    return lo - hi;
 1147|     42|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE23compare_segment_commandEPKvS7_:
  564|    336|{
  565|    336|    Mach_segment_command const *const a = (Mach_segment_command const *)aa;
  566|    336|    Mach_segment_command const *const b = (Mach_segment_command const *)bb;
  567|    336|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
  568|    336|    unsigned const xa = a->cmd - lc_seg;
  569|    336|    unsigned const xb = b->cmd - lc_seg;
  570|    336|           if (xa < xb)        return -1;  // LC_SEGMENT first
  ------------------
  |  Branch (570:16): [True: 171, False: 165]
  ------------------
  571|    165|           if (xa > xb)        return  1;
  ------------------
  |  Branch (571:16): [True: 63, False: 102]
  ------------------
  572|       |    // Ascending by .fileoff so that find_SEGMENT_gap works
  573|    102|    if (a->fileoff < b->fileoff)
  ------------------
  |  Branch (573:9): [True: 78, False: 24]
  ------------------
  574|     78|                               return -1;
  575|     24|    if (a->fileoff > b->fileoff)
  ------------------
  |  Branch (575:9): [True: 12, False: 12]
  ------------------
  576|     12|                               return  1;
  577|       |    // Ascending by .vmaddr
  578|     12|    if (a->vmaddr < b->vmaddr) return -1;
  ------------------
  |  Branch (578:9): [True: 12, False: 0]
  ------------------
  579|      0|    if (a->vmaddr > b->vmaddr) return  1;
  ------------------
  |  Branch (579:9): [True: 0, False: 0]
  ------------------
  580|       |    // Descending by .vmsize
  581|      0|    if ((a->vmsize != 0) != (b->vmsize != 0))
  ------------------
  |  Branch (581:9): [True: 0, False: 0]
  ------------------
  582|      0|        return (a->vmsize != 0) ? -1 : 1;
  ------------------
  |  Branch (582:16): [True: 0, False: 0]
  ------------------
  583|       |    // What could remain?
  584|       |    // try to make sort order deterministic and just compare more fields
  585|      0|#define CMP(field) \
  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  587|      0|    CMP(vmsize);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|      0|    CMP(cmdsize);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|      0|    CMP(filesize);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|      0|    CMP(maxprot);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|      0|    CMP(initprot);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|      0|    CMP(nsects);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|      0|    CMP(flags);
  ------------------
  |  |  586|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (586:9): [True: 0, False: 0]
  |  |  |  Branch (586:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|      0|#undef CMP
  595|      0|    return 0;
  596|      0|}
_ZN11PackMachFatC2EP9InputFile:
 2318|  6.40k|PackMachFat::PackMachFat(InputFile *f) : super(f)
 2319|  6.40k|{
 2320|  6.40k|    bele = &N_BELE_RTP::le_policy;  // sham
 2321|  6.40k|}
_ZN11PackMachFatD2Ev:
 2324|  6.40k|{
 2325|  6.40k|}
_ZN11PackMachFat14check_fat_headEv:
 2328|  6.42k|{
 2329|  6.42k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2330|  6.42k|    unsigned nfat = fat_head.fat.nfat_arch;
 2331|  6.42k|    if (Mach_fat_header::FAT_MAGIC!=fat_head.fat.magic
  ------------------
  |  Branch (2331:9): [True: 6.19k, False: 236]
  ------------------
 2332|  6.21k|    ||  N_FAT_ARCH < nfat) {
  ------------------
  |  Branch (2332:9): [True: 23, False: 213]
  ------------------
 2333|  6.21k|        return 0;
 2334|  6.21k|    }
 2335|    402|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2335:24): [True: 229, False: 173]
  ------------------
 2336|    229|        unsigned const align = arch[j].align;
 2337|    229|        if (24 < align) {
  ------------------
  |  Branch (2337:13): [True: 18, False: 211]
  ------------------
 2338|     18|            char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     18|#define snprintf  upx_safe_snprintf
  ------------------
 2339|     18|                "bad fat_arch alignment 0x%x > 24", align);
 2340|     18|            throwCantPack(msg);
 2341|     18|        }
 2342|    211|        unsigned const mask = ~(~0u<<align);
 2343|    211|        unsigned const size = arch[j].size;
 2344|    211|        unsigned const offset = arch[j].offset;
 2345|    211|        if (align < 12 || align > 24) { // heuristic
  ------------------
  |  Branch (2345:13): [True: 2, False: 209]
  |  Branch (2345:27): [True: 0, False: 209]
  ------------------
 2346|      2|            throwUnknownExecutableFormat("align", 0);
 2347|      2|        }
 2348|    209|        if (mask > size) {
  ------------------
  |  Branch (2348:13): [True: 1, False: 208]
  ------------------
 2349|      1|            throwUnknownExecutableFormat("size", 0);
 2350|      1|        }
 2351|    208|        if (mask & offset
  ------------------
  |  Branch (2351:13): [True: 6, False: 202]
  ------------------
 2352|    202|        ||  (unsigned)fi->st_size_orig() < size + offset
  ------------------
  |  Branch (2352:13): [True: 12, False: 190]
  ------------------
 2353|    190|        ||  (unsigned)fi->st_size_orig() <= offset) {  // redundant unless overflow
  ------------------
  |  Branch (2353:13): [True: 1, False: 189]
  ------------------
 2354|     19|            throwUnknownExecutableFormat("offset", 0);
 2355|     19|        }
 2356|    208|    }
 2357|    173|    return nfat;
 2358|    213|}
_ZN11PackMachFat6unpackEP10OutputFile:
 2479|     17|{
 2480|     17|    if (fo) {  // test mode ("-t") sets fo = nullptr
  ------------------
  |  Branch (2480:9): [True: 17, False: 0]
  ------------------
 2481|     17|        fo->seek(0, SEEK_SET);
 2482|     17|        fo->write(&fat_head, sizeof(fat_head.fat) +
 2483|     17|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2484|     17|    }
 2485|     17|    unsigned const nfat = check_fat_head();
 2486|     17|    unsigned length;
 2487|     17|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2487:24): [True: 17, False: 0]
  ------------------
 2488|     17|        unsigned base = (fo ? fo->unset_extent() : 0);  // actual length
  ------------------
  |  Branch (2488:26): [True: 17, False: 0]
  ------------------
 2489|     17|        base += ~(~0u<<fat_head.arch[j].align) & (0-base);  // align up
 2490|     17|        if (fo) {
  ------------------
  |  Branch (2490:13): [True: 17, False: 0]
  ------------------
 2491|     17|            fo->seek(base, SEEK_SET);
 2492|     17|            fo->set_extent(base, ~0u);
 2493|     17|        }
 2494|       |
 2495|     17|        ph.u_file_size = fat_head.arch[j].size;
 2496|     17|        fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size);
 2497|     17|        fi->seek(0, SEEK_SET);
 2498|     17|        switch (fat_head.arch[j].cputype) {
  ------------------
  |  Branch (2498:17): [True: 17, False: 0]
  ------------------
 2499|      6|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2499:9): [True: 6, False: 11]
  ------------------
 2500|      6|            N_Mach::Mach_header<MachClass_LE32::MachITypes> hdr;
 2501|      6|            typedef N_Mach::Mach_header<MachClass_LE32::MachITypes> Mach_header;
 2502|      6|            fi->readx(&hdr, sizeof(hdr));
 2503|      6|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2503:17): [True: 3, False: 3]
  ------------------
 2504|      3|                PackMachI386 packer(fi);
 2505|      3|                packer.initPackHeader();
 2506|      3|                packer.canUnpack();
 2507|      3|                packer.unpack(fo);
 2508|      3|            }
 2509|      3|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2509:22): [True: 3, False: 0]
  ------------------
 2510|      3|                PackDylibI386 packer(fi);
 2511|      3|                packer.initPackHeader();
 2512|      3|                packer.canUnpack();
 2513|      3|                packer.unpack(fo);
 2514|      3|            }
 2515|      6|        } break;
 2516|     11|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2516:9): [True: 11, False: 6]
  ------------------
 2517|     11|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2518|     11|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2519|     11|            fi->readx(&hdr, sizeof(hdr));
 2520|     11|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2520:17): [True: 6, False: 5]
  ------------------
 2521|      6|                PackMachAMD64 packer(fi);
 2522|      6|                packer.initPackHeader();
 2523|      6|                packer.canUnpack();
 2524|      6|                packer.unpack(fo);
 2525|      6|            }
 2526|      5|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2526:22): [True: 5, False: 0]
  ------------------
 2527|      5|                PackDylibAMD64 packer(fi);
 2528|      5|                packer.initPackHeader();
 2529|      5|                packer.canUnpack();
 2530|      5|                packer.unpack(fo);
 2531|      5|            }
 2532|     11|        } break;
 2533|      0|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2533:9): [True: 0, False: 17]
  ------------------
 2534|      0|            N_Mach::Mach_header<MachClass_BE32::MachITypes> hdr;
 2535|      0|            typedef N_Mach::Mach_header<MachClass_BE32::MachITypes> Mach_header;
 2536|      0|            fi->readx(&hdr, sizeof(hdr));
 2537|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2537:17): [True: 0, False: 0]
  ------------------
 2538|      0|                PackMachPPC32 packer(fi);
 2539|      0|                packer.initPackHeader();
 2540|      0|                packer.canUnpack();
 2541|      0|                packer.unpack(fo);
 2542|      0|            }
 2543|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2543:22): [True: 0, False: 0]
  ------------------
 2544|      0|                PackDylibPPC32 packer(fi);
 2545|      0|                packer.initPackHeader();
 2546|      0|                packer.canUnpack();
 2547|      0|                packer.unpack(fo);
 2548|      0|            }
 2549|      0|        } break;
 2550|      0|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2550:9): [True: 0, False: 17]
  ------------------
 2551|      0|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2552|      0|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2553|      0|            fi->readx(&hdr, sizeof(hdr));
 2554|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2554:17): [True: 0, False: 0]
  ------------------
 2555|      0|                PackMachPPC64 packer(fi);
 2556|      0|                packer.initPackHeader();
 2557|      0|                packer.canUnpack();
 2558|      0|                packer.unpack(fo);
 2559|      0|            }
 2560|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2560:22): [True: 0, False: 0]
  ------------------
 2561|      0|                PackDylibPPC64 packer(fi);
 2562|      0|                packer.initPackHeader();
 2563|      0|                packer.canUnpack();
 2564|      0|                packer.unpack(fo);
 2565|      0|            }
 2566|      0|        } break;
 2567|     17|        }  // switch cputype
 2568|      0|        fat_head.arch[j].offset = base;
 2569|      0|        length = (fo ? fo->unset_extent() : 0);
  ------------------
  |  Branch (2569:19): [True: 0, False: 0]
  ------------------
 2570|      0|        fat_head.arch[j].size = length - base;
 2571|      0|    }
 2572|      0|    if (fo) {
  ------------------
  |  Branch (2572:9): [True: 0, False: 0]
  ------------------
 2573|      0|        fo->unset_extent();
 2574|       |        fo->seek(0, SEEK_SET);
 2575|      0|        fo->rewrite(&fat_head, sizeof(fat_head.fat) +
 2576|      0|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2577|      0|    }
 2578|      0|}
_ZN11PackMachFat9canUnpackEv:
 2649|  6.40k|{
 2650|  6.40k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2651|       |
 2652|  6.40k|    fi->readx(&fat_head, sizeof(fat_head));
 2653|  6.40k|    unsigned const nfat = check_fat_head();
 2654|  6.40k|    if (0 == nfat) {
  ------------------
  |  Branch (2654:9): [True: 6.21k, False: 195]
  ------------------
 2655|  6.21k|        return false;
 2656|  6.21k|    }
 2657|    217|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2657:24): [True: 160, False: 57]
  ------------------
 2658|    160|        fi->set_extent(arch[j].offset, arch[j].size);
 2659|    160|        fi->seek(0, SEEK_SET);
 2660|    160|        switch (arch[j].cputype) {
 2661|     38|        default: return false;
  ------------------
  |  Branch (2661:9): [True: 38, False: 122]
  ------------------
 2662|     27|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2662:9): [True: 27, False: 133]
  ------------------
 2663|     27|            PackMachI386 packer(fi);
 2664|     27|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2664:17): [True: 19, False: 8]
  ------------------
 2665|     19|                PackDylibI386 pack2r(fi);
 2666|     19|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2666:21): [True: 12, False: 7]
  ------------------
 2667|     12|                    return 0;
 2668|      7|                else
 2669|      7|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2670|     19|            }
 2671|      8|            else
 2672|      8|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2673|     27|        } break;
 2674|     83|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2674:9): [True: 83, False: 77]
  ------------------
 2675|     83|            PackMachAMD64 packer(fi);
 2676|     83|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2676:17): [True: 66, False: 17]
  ------------------
 2677|     66|                PackDylibAMD64 pack2r(fi);
 2678|     66|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2678:21): [True: 44, False: 22]
  ------------------
 2679|     44|                    return 0;
 2680|     22|                else
 2681|     22|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2682|     66|            }
 2683|     17|            else
 2684|     17|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2685|     83|        } break;
 2686|     39|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2686:9): [True: 8, False: 152]
  ------------------
 2687|      8|            PackMachPPC32 packer(fi);
 2688|      8|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2688:17): [True: 7, False: 1]
  ------------------
 2689|      7|                PackDylibPPC32 pack2r(fi);
 2690|      7|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2690:21): [True: 6, False: 1]
  ------------------
 2691|      6|                    return 0;
 2692|      1|                else
 2693|      1|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2694|      7|            }
 2695|      1|            else
 2696|      1|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2697|      8|        } break;
 2698|      4|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2698:9): [True: 4, False: 156]
  ------------------
 2699|      4|            PackMachPPC64 packer(fi);
 2700|      4|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2700:17): [True: 4, False: 0]
  ------------------
 2701|      4|                PackDylibPPC64 pack2r(fi);
 2702|      4|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2702:21): [True: 4, False: 0]
  ------------------
 2703|      4|                    return 0;
 2704|      0|                else
 2705|      0|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2706|      4|            }
 2707|      0|            else
 2708|      0|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2709|      4|        } break;
 2710|    160|        }  // switch cputype
 2711|    160|    }
 2712|     57|    return 1;
 2713|    195|}
p_mach.cpp:_ZL21is_bad_linker_commandjjjjj:
  193|  14.9k|{
  194|  14.9k|    cmd &= ~LC_REQ_DYLD;
  195|  14.9k|   return !cmd  // there is no LC_ cmd 0
  ------------------
  |  Branch (195:11): [True: 40, False: 14.9k]
  ------------------
  196|  14.9k|   || sizeof(lc_cmd_size) <= cmd  // beyond table of known sizes
  ------------------
  |  Branch (196:7): [True: 273, False: 14.6k]
  ------------------
  197|  14.6k|   || !lc_cmd_size[cmd]  // obsolete, or proper size not known to us
  ------------------
  |  Branch (197:7): [True: 5, False: 14.6k]
  ------------------
  198|  14.6k|   || !cmdsize || ((-1+ szAddr) & cmdsize)  // size not aligned
  ------------------
  |  Branch (198:7): [True: 10, False: 14.6k]
  |  Branch (198:19): [True: 47, False: 14.6k]
  ------------------
  199|  14.6k|   || headway < cmdsize  // not within header area
  ------------------
  |  Branch (199:7): [True: 117, False: 14.4k]
  ------------------
  200|  14.4k|   || (lc_seg == cmd  // lc_seg must have following lc_sections
  ------------------
  |  Branch (200:8): [True: 7.55k, False: 6.93k]
  ------------------
  201|  7.55k|       && (cmdsize - lc_seg_info[szAddr>>3].segcmdsize) %
  ------------------
  |  Branch (201:11): [True: 12, False: 7.54k]
  ------------------
  202|  7.55k|                     lc_seg_info[szAddr>>3].seccmdsize)
  203|  14.4k|   || (0 < lc_cmd_size[cmd] &&  lc_cmd_size[cmd] != (int)cmdsize)  // not known size
  ------------------
  |  Branch (203:8): [True: 1.32k, False: 13.1k]
  |  Branch (203:33): [True: 16, False: 1.31k]
  ------------------
  204|  14.4k|   || (0 > lc_cmd_size[cmd] && -lc_cmd_size[cmd]  > (int)cmdsize)  // below minimum size
  ------------------
  |  Branch (204:8): [True: 13.1k, False: 1.31k]
  |  Branch (204:32): [True: 3, False: 13.1k]
  ------------------
  205|  14.9k|   ;
  206|  14.9k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|      8|{
  236|      8|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|      8|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|      8|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|      8|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|      8|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|      8|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|      8|{
  225|      8|    MachClass::compileTimeAssertions();
  226|      8|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|      8|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|      8|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|      8|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|      8|    memset(&linkitem, 0, sizeof(linkitem));
  231|      8|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1648|      8|{
 1649|      8|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1650|      8|    fi->seek(0, SEEK_SET);
 1651|      8|    fi->readx(&mhdri, sizeof(mhdri));
 1652|       |
 1653|      8|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1653:9): [True: 6, False: 2]
  ------------------
 1654|      2|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1654:9): [True: 2, False: 0]
  ------------------
 1655|      0|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1655:9): [True: 0, False: 0]
  ------------------
 1656|      8|    )
 1657|      8|        return false;
 1658|      0|    my_cpusubtype = mhdri.cpusubtype;
 1659|       |
 1660|      0|    unsigned const ncmds = mhdri.ncmds;
 1661|      0|    int headway = (int)mhdri.sizeofcmds;
 1662|      0|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1476|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1662:9): [True: 0, False: 0]
  |  Branch (1662:19): [True: 0, False: 0]
  |  Branch (1662:41): [True: 0, False: 0]
  ------------------
 1663|      0|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1663:10): [True: 0, False: 0]
  ------------------
 1664|      0|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1665|      0|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1666|      0|        throwCantUnpack(msg);
 1667|      0|    }
 1668|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1669|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1670|      0|    if ((2 == ncmds
  ------------------
  |  Branch (1670:10): [True: 0, False: 0]
  ------------------
 1671|      0|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1671:12): [True: 0, False: 0]
  ------------------
 1672|      0|    ||  (3 <= ncmds
  ------------------
  |  Branch (1672:10): [True: 0, False: 0]
  ------------------
 1673|      0|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1673:12): [True: 0, False: 0]
  ------------------
 1674|      0|                    + sizeof(Mach_main_command)))) {
 1675|      0|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1676|      0|        throwCantUnpack("file corrupted");
 1677|      0|    }
 1678|      0|    sz_mach_headers = headway + sizeof(mhdri);
 1679|      0|    if (2048 < headway) {
  ------------------
  |  Branch (1679:9): [True: 0, False: 0]
  ------------------
 1680|      0|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1681|      0|    }
 1682|      0|    if (!headway) {
  ------------------
  |  Branch (1682:9): [True: 0, False: 0]
  ------------------
 1683|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1684|      0|    }
 1685|      0|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1686|      0|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1687|      0|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1688|       |
 1689|      0|    Mach_segment_command const *ptrTEXT = nullptr;
 1690|      0|    upx_uint64_t rip = 0;
 1691|      0|    unsigned style = 0;
 1692|      0|    off_t offLINK = 0;
  ------------------
  |  |  235|      0|#define off_t upx_off_t
  ------------------
 1693|      0|    unsigned pos_next = 0;
 1694|      0|    unsigned nseg = 0;
 1695|      0|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1696|      0|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1696:25): [True: 0, False: 0]
  ------------------
 1697|      0|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1698|      0|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1698:13): [True: 0, False: 0]
  ------------------
 1699|      0|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1700|      0|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1701|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1702|      0|            throwCantPack(buf);
 1703|      0|        }
 1704|      0|        unsigned const cmd = ptr->cmd;
 1705|      0|        unsigned const cmdsize = ptr->cmdsize;
 1706|      0|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1706:13): [True: 0, False: 0]
  ------------------
 1707|      0|                opt->info_mode += 1;
 1708|      0|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1709|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1710|      0|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1711|      0|                opt->info_mode -= 1;
 1712|      0|                throwCantUnpack("file corrupted");
 1713|      0|        }
 1714|      0|        headway -= cmdsize;
 1715|      0|        if (headway < 0) {
  ------------------
  |  Branch (1715:13): [True: 0, False: 0]
  ------------------
 1716|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1717|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1718|      0|                (unsigned)ptr->cmdsize);
 1719|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1720|      0|        }
 1721|      0|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1721:13): [True: 0, False: 0]
  ------------------
 1722|      0|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1723|      0|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1723:17): [True: 0, False: 0]
  ------------------
 1724|      0|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1724:17): [True: 0, False: 0]
  ------------------
 1725|      0|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1725:17): [True: 0, False: 0]
  ------------------
 1726|      0|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1727|      0|                      "  filesize=0x%lx  fileoff=0x%lx",
 1728|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1729|      0|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1730|      0|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1731|      0|                throwCantUnpack("file corrupted");
 1732|      0|            }
 1733|      0|            ++nseg;
 1734|      0|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1734:17): [True: 0, False: 0]
  ------------------
 1735|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1736|      0|                style = 391;  // UPX 3.91
 1737|      0|            }
 1738|      0|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1738:17): [True: 0, False: 0]
  ------------------
 1739|      0|                ptrTEXT = segptr;
 1740|      0|                style = 391;  // UPX 3.91
 1741|      0|            }
 1742|      0|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1742:17): [True: 0, False: 0]
  ------------------
 1743|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1744|      0|                style = 392;  // UPX 3.92
 1745|      0|            }
 1746|      0|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1746:17): [True: 0, False: 0]
  ------------------
 1747|      0|                offLINK = segptr->fileoff;
 1748|      0|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1748:21): [True: 0, False: 0]
  ------------------
 1749|      0|                    style = 395;
 1750|      0|                }
 1751|      0|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1751:21): [True: 0, False: 0]
  ------------------
 1752|      0|                    offLINK = pos_next;
 1753|      0|                }
 1754|      0|            }
 1755|      0|            pos_next = segptr->filesize + segptr->fileoff;
 1756|      0|        }
 1757|      0|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1757:18): [True: 0, False: 0]
  ------------------
 1758|      0|            rip = entryVMA = threadc_getPC(ptr);
 1759|      0|        }
 1760|      0|    }
 1761|      0|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1761:9): [True: 0, False: 0]
  |  Branch (1761:20): [True: 0, False: 0]
  ------------------
 1762|      0|        style = 392;
 1763|      0|    }
 1764|      0|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1764:9): [True: 0, False: 0]
  |  Branch (1764:23): [True: 0, False: 0]
  |  Branch (1764:37): [True: 0, False: 0]
  |  Branch (1764:49): [True: 0, False: 0]
  ------------------
 1765|      0|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1766|      0|    }
 1767|      0|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1767:9): [True: 0, False: 0]
  |  Branch (1767:23): [True: 0, False: 0]
  ------------------
 1768|      0|        return false;
 1769|      0|    }
 1770|       |
 1771|      0|    int const small = 32 + sizeof(overlay_offset);
 1772|      0|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1773|      0|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1773:9): [True: 0, False: 0]
  ------------------
 1774|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1775|      0|    } else
 1776|      0|    if (392 == style) {
  ------------------
  |  Branch (1776:9): [True: 0, False: 0]
  ------------------
 1777|      0|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1777:13): [True: 0, False: 0]
  ------------------
 1778|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1779|      0|        }
 1780|      0|        else { // PackHeader follows loader at __LINKEDIT
 1781|      0|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1781:17): [True: 0, False: 0]
  ------------------
 1782|      0|                bufsize = fi->st_size() - offLINK;
 1783|      0|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1783:21): [True: 0, False: 0]
  ------------------
 1784|      0|                    throwCantUnpack("bad offLINK %p %p",
 1785|      0|                        (void *)offLINK, (void *)file_size);
 1786|      0|                }
 1787|      0|            }
 1788|      0|            fi->seek(offLINK, SEEK_SET);
 1789|      0|        }
 1790|      0|    } else
 1791|      0|    if (395 == style) {
  ------------------
  |  Branch (1791:9): [True: 0, False: 0]
  ------------------
 1792|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1793|      0|    }
 1794|      0|    MemBuffer buf(bufsize);
 1795|      0|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1796|      0|    buf3.clear();
 1797|       |
 1798|      0|    fi->readx(buf, bufsize);
 1799|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1800|       |
 1801|      0|    int i = bufsize;
 1802|      0|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1802:12): [True: 0, False: 0]
  |  Branch (1802:25): [True: 0, False: 0]
  ------------------
 1803|      0|    i -= small;
 1804|       |    // allow incompressible extents
 1805|      0|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1805:9): [True: 0, False: 0]
  |  Branch (1805:18): [True: 0, False: 0]
  ------------------
 1806|       |        // Breadcrumbs failed.
 1807|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1808|      0|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1808:38): [True: 0, False: 0]
  ------------------
 1809|      0|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1809:13): [True: 0, False: 0]
  |  Branch (1809:24): [True: 0, False: 0]
  |  Branch (1809:31): [True: 0, False: 0]
  ------------------
 1810|      0|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1811|      0|            fi->readx(buf3, bufsize);
 1812|      0|            unsigned char const *b = &buf3[0];
 1813|      0|            unsigned disp = *(TE32 const *)&b[1];
 1814|      0|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1814:17): [True: 0, False: 0]
  ------------------
 1815|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1815:21): [True: 0, False: 0]
  |  Branch (1815:35): [True: 0, False: 0]
  ------------------
 1816|       |                    // disp and the b_info that follow it are used as raw offsets
 1817|       |                    // into buf3, which holds only bufsize bytes that were read.
 1818|      0|                    && (disp + 11 + sizeof(struct b_info)) <= bufsize
  ------------------
  |  Branch (1818:24): [True: 0, False: 0]
  ------------------
 1819|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1820|       |                    // searching for "executable_path=" etc.
 1821|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1821:21): [True: 0, False: 0]
  |  Branch (1821:40): [True: 0, False: 0]
  ------------------
 1822|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1823|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1823:25): [True: 0, False: 0]
  |  Branch (1823:46): [True: 0, False: 0]
  ------------------
 1824|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1825|       |                        // This is the folded stub.
 1826|       |                        // FIXME: check b_method?
 1827|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000
  ------------------
  |  Branch (1827:29): [True: 0, False: 0]
  |  Branch (1827:60): [True: 0, False: 0]
  ------------------
 1828|       |                            // overlay_offset is read at (32 + b); keep that read
 1829|       |                            // inside the bytes that were read into buf3.
 1830|      0|                        && ((11 + disp + sizeof(struct b_info) + (unsigned) bptr->sz_cpr)
  ------------------
  |  Branch (1830:28): [True: 0, False: 0]
  ------------------
 1831|      0|                                + 32 + sizeof(TE32)) <= bufsize) {
 1832|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1833|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1834|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1835|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1835:33): [True: 0, False: 0]
  ------------------
 1836|      0|                                return true;  // success
 1837|      0|                            }
 1838|      0|                            overlay_offset = 0;  // failure
 1839|      0|                        }
 1840|      0|                    }
 1841|      0|                }
 1842|      0|            }
 1843|      0|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1843:17): [True: 0, False: 0]
  ------------------
 1844|      0|                infoWarning("file corrupted: %s", fi->getName());
 1845|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1846|      0|                fi->readx(buf3, bufsize);
 1847|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1848|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1848:24): [True: 0, False: 0]
  ------------------
 1849|      0|                    unsigned x = *p;
 1850|      0|                    if (x) {
  ------------------
  |  Branch (1850:25): [True: 0, False: 0]
  ------------------
 1851|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1851:29): [True: 0, False: 0]
  |  Branch (1851:40): [True: 0, False: 0]
  ------------------
 1852|      0|                            fi->seek(0, SEEK_SET);
 1853|      0|                            fi->readx(buf3, bufsize);
 1854|      0|                            p = (unsigned const *)&buf3[x];
 1855|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1855:33): [True: 0, False: 0]
  |  Branch (1855:46): [True: 0, False: 0]
  |  Branch (1855:59): [True: 0, False: 0]
  ------------------
 1856|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1856:33): [True: 0, False: 0]
  |  Branch (1856:59): [True: 0, False: 0]
  ------------------
 1857|      0|                            ) {
 1858|      0|                                overlay_offset = x;
 1859|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1860|      0|                                    overlay_offset);
 1861|      0|                                return true;
 1862|      0|                            }
 1863|      0|                        }
 1864|      0|                        break;
 1865|      0|                    }
 1866|      0|                }
 1867|      0|            }
 1868|      0|        }
 1869|      0|        if (391==style) {
  ------------------
  |  Branch (1869:13): [True: 0, False: 0]
  ------------------
 1870|      0|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1871|      0|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1871:20): [True: 0, False: 0]
  ------------------
 1872|      0|            overlay_offset = *uptr;
 1873|      0|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1873:17): [True: 0, False: 0]
  |  Branch (1873:55): [True: 0, False: 0]
  ------------------
 1874|      0|                return true;  // success
 1875|      0|            }
 1876|      0|            overlay_offset = 0;
 1877|      0|            return false;
 1878|      0|        }
 1879|      0|        if (392==style) {
  ------------------
  |  Branch (1879:13): [True: 0, False: 0]
  ------------------
 1880|      0|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1881|       |            // p_info isn't used for execution, so it has less value for checking:
 1882|       |            //      0== .p_progid
 1883|       |            //      .p_filesize == .p_blocksize
 1884|      0|            fi->seek(overlay_offset, SEEK_SET);
 1885|      0|            fi->readx(buf3, bufsize);
 1886|      0|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1887|      0|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1888|      0|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1889|      0|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1889:17): [True: 0, False: 0]
  ------------------
 1890|      0|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1890:17): [True: 0, False: 0]
  ------------------
 1891|      0|                unsigned const method = b_ptr->b_method;
 1892|      0|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  633|      0|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  639|      0|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1892:22): [True: 0, False: 0]
  |  Branch (1892:48): [True: 0, False: 0]
  ------------------
 1893|      0|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1893:21): [True: 0, False: 0]
  ------------------
 1894|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1894:21): [True: 0, False: 0]
  ------------------
 1895|      0|                    return true;
 1896|      0|                }
 1897|      0|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1898|      0|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  634|      0|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  640|      0|#define M_NRV2E_8     9
  ------------------
  |  Branch (1898:22): [True: 0, False: 0]
  |  Branch (1898:45): [True: 0, False: 0]
  ------------------
 1899|      0|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1899:20): [True: 0, False: 0]
  ------------------
 1900|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1900:21): [True: 0, False: 0]
  ------------------
 1901|      0|                    return true;
 1902|      0|                }
 1903|       |                // FIXME: M_LZMA
 1904|      0|            }
 1905|       |
 1906|      0|            overlay_offset = 0;
 1907|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1908|       |            // is the total length of compressed data which precedes it
 1909|       |            //(distance to l_info), so that's another method.
 1910|      0|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1911|      0|            fi->readx(buf3, 0x1000);
 1912|      0|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1913|      0|            unsigned const *p;
 1914|      0|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1914:55): [True: 0, False: 0]
  |  Branch (1914:69): [True: 0, False: 0]
  ------------------
 1915|      0|                overlay_offset  = *(TE32 const *)p;
 1916|      0|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1916:21): [True: 0, False: 0]
  ------------------
 1917|      0|                    throwCantUnpack("file corrupted");
 1918|      0|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1918:21): [True: 0, False: 0]
  ------------------
 1919|      0|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1920|      0|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1921|      0|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1921:25): [True: 0, False: 0]
  ------------------
 1922|      0|                        throwCantUnpack("file corrupted");
 1923|      0|                    fi->seek(overlay_offset, SEEK_SET);
 1924|      0|                    fi->readx(buf3, bufsize);
 1925|      0|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1925:25): [True: 0, False: 0]
  ------------------
 1926|      0|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1926:25): [True: 0, False: 0]
  ------------------
 1927|      0|                        return true;
 1928|      0|                    }
 1929|      0|                }
 1930|      0|            }
 1931|      0|        }
 1932|      0|    }
 1933|       |
 1934|      0|    overlay_offset = 0;  // impossible value
 1935|      0|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1936|      0|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1936:9): [True: 0, False: 0]
  |  Branch (1936:19): [True: 0, False: 0]
  ------------------
 1937|      0|        overlay_offset = get_te32(buf + i + l);
 1938|      0|    }
 1939|      0|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:16): [True: 0, False: 0]
  ------------------
 1940|      0|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1940:9): [True: 0, False: 0]
  ------------------
 1941|      0|        infoWarning("file corrupted: %s", fi->getName());
 1942|      0|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1943|      0|        fi->seek(sz_mach_headers, SEEK_SET);
 1944|      0|        fi->readx(buf2, buf2.getSize());
 1945|      0|        unsigned const *p = (unsigned const *)&buf2[0];
 1946|      0|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1947|      0|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1947:16): [True: 0, False: 0]
  ------------------
 1948|      0|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1948:16): [True: 0, False: 0]
  ------------------
 1949|      0|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1949:16): [True: 0, False: 0]
  ------------------
 1950|      0|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1950:13): [True: 0, False: 0]
  ------------------
 1951|      0|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1951:13): [True: 0, False: 0]
  ------------------
 1952|      0|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1952:13): [True: 0, False: 0]
  ------------------
 1953|      0|        ) {
 1954|      0|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1955|      0|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1955:19): [True: 0, False: 0]
  ------------------
 1956|      0|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1956:31): [True: 0, False: 0]
  ------------------
 1957|      0|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1957:24): [True: 0, False: 0]
  ------------------
 1958|      0|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1959|      0|                return true;
 1960|      0|            }
 1961|      0|        }
 1962|      0|        throwCantUnpack("file corrupted");
 1963|      0|    }
 1964|      0|    return true;
 1965|      0|}

_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
  739|  5.11k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  739|  8.55k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  739|  13.7k|    virtual int getVersion() const override { return 13; }
_ZNK13PackDylibI3869getFormatEv:
 1055|     11|    virtual int getFormat() const override { return UPX_F_DYLIB_i386; }
  ------------------
  |  |  602|     11|#define UPX_F_DYLIB_i386          33
  ------------------
_ZNK12PackMachI3869getFormatEv:
 1003|  9.01k|    virtual int getFormat() const override { return UPX_F_MACH_i386; }
  ------------------
  |  |  598|  9.01k|#define UPX_F_MACH_i386           29
  ------------------
_ZNK14PackDylibAMD649getFormatEv:
 1123|  10.3k|    virtual int getFormat() const override { return UPX_F_DYLIB_AMD64; }
  ------------------
  |  |  604|  10.3k|#define UPX_F_DYLIB_AMD64         35
  ------------------
_ZNK13PackMachAMD649getFormatEv:
 1070|  8.84k|    virtual int getFormat() const override { return UPX_F_MACH_AMD64; }
  ------------------
  |  |  603|  8.84k|#define UPX_F_MACH_AMD64          34
  ------------------
_ZNK13PackMachPPC329getFormatEv:
  868|  10.2k|    virtual int getFormat() const override { return UPX_F_MACH_PPC32; }
  ------------------
  |  |  619|  10.2k|#define UPX_F_MACH_PPC32        131
  ------------------
_ZN12PackMachI38613threadc_getPCEPKv:
 1036|    539|    upx_uint64_t threadc_getPC(void const *ptr)  override{
 1037|    539|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1038|    539|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1038:13): [True: 0, False: 539]
  ------------------
 1039|    539|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1039:13): [True: 93, False: 446]
  ------------------
 1040|    446|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1040:13): [True: 343, False: 103]
  ------------------
 1041|    516|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1041:13): [True: 80, False: 23]
  ------------------
 1042|    516|            return ~0ull;
 1043|    516|        }
 1044|     23|        return tc->state.eip;
 1045|    539|    }
_ZNK13PackMachAMD647getNameEv:
 1071|      1|    virtual const char *getName() const override { return "macho/amd64"; }
_ZN13PackMachAMD6413threadc_getPCEPKv:
 1104|    589|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1105|    589|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1106|    589|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1106:13): [True: 0, False: 589]
  ------------------
 1107|    589|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1107:13): [True: 220, False: 369]
  ------------------
 1108|    369|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1108:13): [True: 150, False: 219]
  ------------------
 1109|    439|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1109:13): [True: 69, False: 150]
  ------------------
 1110|    439|            return ~0ull;
 1111|    439|        }
 1112|    150|        return tc->state.rip;
 1113|    589|    }
_ZN13PackMachPPC3213threadc_getPCEPKv:
  902|    147|    upx_uint64_t threadc_getPC(void const *ptr) override {
  903|    147|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
  904|    147|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (904:13): [True: 0, False: 147]
  ------------------
  905|    147|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (905:13): [True: 74, False: 73]
  ------------------
  906|     73|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (906:13): [True: 23, False: 50]
  ------------------
  907|    128|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (907:13): [True: 31, False: 19]
  ------------------
  908|    128|            return ~0ull;
  909|    128|        }
  910|     19|        return tc->state.srr0;
  911|    147|    }
_ZNK13PackMachARMEL9getFormatEv:
 1138|  8.06k|    virtual int getFormat() const override { return UPX_F_MACH_ARM; }
  ------------------
  |  |  601|  8.06k|#define UPX_F_MACH_ARM            32
  ------------------
_ZN13PackMachARMEL13threadc_getPCEPKv:
 1172|    550|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1173|    550|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1174|    550|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1174:13): [True: 0, False: 550]
  ------------------
 1175|    550|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1175:13): [True: 490, False: 60]
  ------------------
 1176|     60|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1176:13): [True: 23, False: 37]
  ------------------
 1177|    539|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1177:13): [True: 26, False: 11]
  ------------------
 1178|    539|            return ~0ull;
 1179|    539|        }
 1180|     11|        return tc->state.pc;
 1181|    550|    }
_ZNK15PackMachARM64EL9getFormatEv:
 1191|  7.66k|    virtual int getFormat() const override { return UPX_F_MACH_ARM64; }
  ------------------
  |  |  606|  7.66k|#define UPX_F_MACH_ARM64          37
  ------------------
_ZNK15PackMachARM64EL7getNameEv:
 1192|      1|    virtual const char *getName() const override { return "macho/arm64"; }
_ZN15PackMachARM64EL13threadc_getPCEPKv:
 1224|    117|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1225|    117|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1226|    117|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1226:13): [True: 0, False: 117]
  ------------------
 1227|    117|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1227:13): [True: 45, False: 72]
  ------------------
 1228|     72|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1228:13): [True: 31, False: 41]
  ------------------
 1229|    105|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1229:13): [True: 29, False: 12]
  ------------------
 1230|    105|            return ~0ull;
 1231|    105|        }
 1232|     12|        return tc->state.pc;
 1233|    117|    }
_ZNK11PackMachFat10getVersionEv:
 1243|  6.40k|    virtual int getVersion() const override { return 13; }
_ZNK11PackMachFat9getFormatEv:
 1244|  12.8k|    virtual int getFormat() const override { return UPX_F_MACH_FAT; }
  ------------------
  |  |  622|  12.8k|#define UPX_F_MACH_FAT          134
  ------------------
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  574|      8|    static void compileTimeAssertions() {
  575|      8|        BeLePolicy::compileTimeAssertions();
  576|      8|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  266|      8|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|      8|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  577|      8|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  532|  5.12k|    static void compileTimeAssertions() {
  533|  5.12k|        BeLePolicy::compileTimeAssertions();
  534|  5.12k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  266|  5.12k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  5.12k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  535|  5.12k|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  532|  8.58k|    static void compileTimeAssertions() {
  533|  8.58k|        BeLePolicy::compileTimeAssertions();
  534|  8.58k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  266|  8.58k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  8.58k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  535|  8.58k|    }
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  574|  13.2k|    static void compileTimeAssertions() {
  575|  13.2k|        BeLePolicy::compileTimeAssertions();
  576|  13.2k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  266|  13.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  577|  13.2k|    }

_ZN7PackPs1C2EP9InputFile:
   80|  2.56k|    : super(f), isCon(!opt->ps1_exe.boot_only), is32Bit(!opt->ps1_exe.do_8bit) {
   81|  2.56k|    bele = &N_BELE_RTP::le_policy;
   82|       |
   83|  2.56k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_t) == 136)
  ------------------
  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   84|  2.56k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_hb_t) == 44)
  ------------------
  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   85|  2.56k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_chb_t) == 5)
  ------------------
  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   86|  2.56k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_t)
  ------------------
  |  |  465|  2.56k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  2.56k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  2.56k|    {                                                                                              \
  |  |  |  |  |  |  448|  2.56k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  2.56k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  2.56k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  2.56k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  2.56k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  2.56k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  2.56k|        };                                                                                         \
  |  |  |  |  |  |  455|  2.56k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  2.56k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  2.56k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  2.56k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  2.56k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  2.56k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  2.56k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_hb_t)
  ------------------
  |  |  465|  2.56k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  2.56k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  2.56k|    {                                                                                              \
  |  |  |  |  |  |  448|  2.56k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  2.56k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  2.56k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  2.56k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  2.56k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  2.56k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  2.56k|        };                                                                                         \
  |  |  |  |  |  |  455|  2.56k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  2.56k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  2.56k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  2.56k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  2.56k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  2.56k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  2.56k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_chb_t)
  ------------------
  |  |  465|  2.56k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  2.56k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  2.56k|    {                                                                                              \
  |  |  |  |  |  |  448|  2.56k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  2.56k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  2.56k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  2.56k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  2.56k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  2.56k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  2.56k|        };                                                                                         \
  |  |  |  |  |  |  455|  2.56k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  2.56k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  2.56k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  2.56k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  2.56k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  2.56k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  2.56k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|       |
   90|  2.56k|    COMPILE_TIME_ASSERT(PS_HDR_SIZE > sizeof(ps1_exe_t))
  ------------------
  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   91|  2.56k|    COMPILE_TIME_ASSERT(SZ_IH_BKUP == 40)
  ------------------
  |  |  266|  2.56k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.56k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   92|       |
   93|  2.56k|    fdata_size = file_size - PS_HDR_SIZE;
  ------------------
  |  |   45|  2.56k|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|  2.56k|#define CD_SEC        2048
  |  |  ------------------
  ------------------
   94|  2.56k|    ram_size = !opt->ps1_exe.do_8mib ? 0x200000 : 0x800000;
  ------------------
  |  Branch (94:16): [True: 2.56k, False: 0]
  ------------------
   95|  2.56k|}
_ZN7PackPs114readFileHeaderEv:
  114|  2.56k|int PackPs1::readFileHeader() {
  115|  2.56k|    fi->seek(0, SEEK_SET);
  116|  2.56k|    fi->readx(&ih, sizeof(ih));
  117|  2.56k|    if (memcmp(&ih.id[0], "PS-X EXE", 8) != 0 && memcmp(&ih.id[0], "EXE X-SP", 8) != 0)
  ------------------
  |  Branch (117:9): [True: 2.54k, False: 21]
  |  Branch (117:50): [True: 2.45k, False: 85]
  ------------------
  118|  2.45k|        return 0;
  119|    106|    if (ih.text != 0 || ih.data != 0)
  ------------------
  |  Branch (119:9): [True: 21, False: 85]
  |  Branch (119:25): [True: 20, False: 65]
  ------------------
  120|     41|        return 0;
  121|     65|    return UPX_F_PS1_EXE;
  ------------------
  |  |  587|     65|#define UPX_F_PS1_EXE             18
  ------------------
  122|    106|}
_ZN7PackPs114readBkupHeaderEv:
  124|     49|bool PackPs1::readBkupHeader() {
  125|     49|    fi->seek(sizeof(ps1_exe_t) + 8, SEEK_SET);
  126|     49|    fi->readx(&bh, sizeof(bh));
  127|       |
  128|     49|    if (bh.ih_csum != upx_adler32(&bh, SZ_IH_BKUP)) {
  ------------------
  |  |   51|     49|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (128:9): [True: 36, False: 13]
  ------------------
  129|     36|        byte buf[sizeof(bh)];
  130|     36|        fi->seek(sizeof(ps1_exe_t), SEEK_SET);
  131|     36|        fi->readx(buf, sizeof(bh));
  132|     36|        if (!getBkupHeader(buf, (byte *) &bh))
  ------------------
  |  Branch (132:13): [True: 33, False: 3]
  ------------------
  133|     33|            return false;
  134|     36|    }
  135|     16|    return true;
  136|     49|}
_ZN7PackPs113getBkupHeaderEPhS0_:
  170|     36|bool PackPs1::getBkupHeader(byte *p, byte *dst) {
  171|     36|    ps1_exe_chb_t *src = (ps1_exe_chb_t *) p;
  172|       |
  173|     36|    if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst) {
  ------------------
  |  |   51|      5|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (173:9): [True: 36, False: 0]
  |  Branch (173:17): [True: 5, False: 31]
  |  Branch (173:35): [True: 3, False: 2]
  |  Branch (173:61): [True: 3, False: 0]
  ------------------
  174|      3|        ByteArray(unc_bh, MemBuffer::getSizeForDecompression(SZ_IH_BKUP));
  ------------------
  |  |  495|      3|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  492|      3|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  493|      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,
  ------------------
  |  |  640|      3|#define M_NRV2E_8     9
  ------------------
  178|      3|                               nullptr);
  179|      3|        if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  559|      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)
  ------------------
  |  |  557|      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|     33|        return false;
  190|      0|    return true;
  191|     36|}
_ZN7PackPs115checkFileHeaderEv:
  193|     12|bool PackPs1::checkFileHeader() {
  194|     12|    if (fdata_size != ih.tx_len || (ih.tx_len & 3)) {
  ------------------
  |  Branch (194:9): [True: 1, False: 11]
  |  Branch (194:36): [True: 1, False: 10]
  ------------------
  195|      2|        if (!opt->force)
  ------------------
  |  Branch (195:13): [True: 2, False: 0]
  ------------------
  196|      2|            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|      2|    }
  204|     10|    if (!opt->force && (ih.da_ptr != 0 || ih.da_len != 0 || ih.bs_ptr != 0 || ih.bs_len != 0)) {
  ------------------
  |  Branch (204:9): [True: 10, False: 0]
  |  Branch (204:25): [True: 3, False: 7]
  |  Branch (204:43): [True: 2, False: 5]
  |  Branch (204:61): [True: 1, False: 4]
  |  Branch (204:79): [True: 1, False: 3]
  ------------------
  205|      7|        infoWarning("unsupported header field entry");
  206|      7|        return false;
  207|      7|    }
  208|      3|    if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   56|      3|#define EXE_BS   (ih.epc & K0_BS)
  |  |  ------------------
  |  |  |  |   54|      3|#define K0_BS    (0x80000000)
  |  |  ------------------
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   46|      3|#define PS_RAM_SIZE   ram_size
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   49|      3|#define PS_STACK_SIZE (PS_RAM_SIZE / 256)
  |  |  ------------------
  |  |  |  |   46|      3|#define PS_RAM_SIZE   ram_size
  |  |  ------------------
  ------------------
  |  Branch (208:9): [True: 1, False: 2]
  ------------------
  209|      1|        if (!opt->force)
  ------------------
  |  Branch (209:13): [True: 1, False: 0]
  ------------------
  210|      1|            return false;
  211|      0|        else
  212|      0|            infoWarning("%s: stack pointer offset low", fi->getName());
  213|      1|    }
  214|      2|    return true;
  215|      3|}
_ZN7PackPs19canUnpackEv:
  616|  2.56k|tribool PackPs1::canUnpack() {
  617|  2.56k|    if (!readFileHeader())
  ------------------
  |  Branch (617:9): [True: 2.50k, False: 65]
  ------------------
  618|  2.50k|        return false;
  619|     65|    if (!readPackHeader(CD_SEC))
  ------------------
  |  |   44|     65|#define CD_SEC        2048
  ------------------
  |  Branch (619:9): [True: 3, False: 62]
  ------------------
  620|      3|        return false;
  621|       |    // check header as set by packer
  622|     62|    if (!readBkupHeader() || ph.c_len >= fdata_size)
  ------------------
  |  Branch (622:9): [True: 49, False: 13]
  |  Branch (622:30): [True: 1, False: 12]
  ------------------
  623|     34|        throwCantUnpack("header damaged");
  624|       |    // generic check
  625|     28|    if (!checkFileHeader())
  ------------------
  |  Branch (625:9): [True: 8, False: 20]
  ------------------
  626|      8|        throwCantUnpack("unsupported header flags");
  627|     20|    return true;
  628|     28|}
_ZN7PackPs16unpackEP10OutputFile:
  634|      2|void PackPs1::unpack(OutputFile *fo) {
  635|       |    // restore orig exec hdr
  636|      2|    memcpy(&oh, &ih, sizeof(ih));
  637|      2|    memcpy((void *) &oh.epc, &bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      2|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  638|       |
  639|       |    // check for removed sector alignment
  640|      2|    assert(oh.tx_len >= ph.u_len);
  ------------------
  |  |  512|      2|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      4|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  641|      0|    const unsigned pad = oh.tx_len - ph.u_len;
  642|       |
  643|      2|    ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      2|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
                  ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      3|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  |  Branch (643:16): [True: 1, False: 1]
  ------------------
  644|      2|    obuf.allocForDecompression(ph.u_len, pad);
  645|       |
  646|      2|    fi->seek(PS_HDR_SIZE, SEEK_SET);
  ------------------
  |  |   45|      2|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  647|      2|    fi->readx(ibuf, fdata_size);
  648|       |
  649|       |    // decompress
  650|      2|    decompress(ibuf + (fdata_size - ph.c_len), obuf);
  651|       |
  652|       |    // write decompressed file
  653|      2|    if (fo) {
  ------------------
  |  Branch (653:9): [True: 0, False: 2]
  ------------------
  654|       |        // write header
  655|      0|        fo->write(&oh, sizeof(oh));
  656|       |        // align the ps exe header (mode 2 sector data size)
  657|      0|        ibuf.clear();
  658|      0|        fo->write(ibuf, PS_HDR_SIZE - fo->getBytesWritten());
  ------------------
  |  |   45|      0|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      0|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  659|       |        // write uncompressed data + pad
  660|      0|        obuf.clear(ph.u_len, pad);
  661|      0|        fo->write(obuf, ph.u_len + pad);
  662|      0|    }
  663|      2|}

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

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

_ZN7PackTmtC2EP9InputFile:
   44|  14.6k|PackTmt::PackTmt(InputFile *f) : super(f) {
   45|  14.6k|    bele = &N_BELE_RTP::le_policy;
   46|  14.6k|    COMPILE_TIME_ASSERT(sizeof(tmt_header_t) == 44)
  ------------------
  |  |  266|  14.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   47|  14.6k|}
_ZN7PackTmt14readFileHeaderEv:
   91|  14.6k|int PackTmt::readFileHeader() {
   92|  14.6k|#define H(x)  get_le16(h + 2 * (x))
   93|  14.6k|#define H4(x) get_le32(h + (x))
   94|  14.6k|    byte h[0x40];
   95|  14.6k|    int ic;
   96|  14.6k|    unsigned exe_offset = 0;
   97|  14.6k|    adam_offset = 0;
   98|       |
   99|  17.7k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (99:18): [True: 17.6k, False: 147]
  ------------------
  100|  17.6k|        fi->seek(adam_offset, SEEK_SET);
  101|  17.6k|        fi->readx(h, sizeof(h));
  102|       |
  103|  17.6k|        if (memcmp(h, "MZ", 2) == 0) // dos/exe
  ------------------
  |  Branch (103:13): [True: 2.42k, False: 15.2k]
  ------------------
  104|  2.42k|        {
  105|  2.42k|            exe_offset = adam_offset;
  106|  2.42k|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  2.42k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  2.42k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  107|  2.42k|            if (H(1))
  ------------------
  |  |   92|  2.42k|#define H(x)  get_le16(h + 2 * (x))
  |  |  ------------------
  |  |  |  Branch (92:15): [True: 774, False: 1.64k]
  |  |  ------------------
  ------------------
  108|    774|                adam_offset -= 512;
  109|  2.42k|            if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   92|  2.42k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   93|    398|#define H4(x) get_le32(h + (x))
  |  |  ------------------
  |  |  |  Branch (93:15): [True: 350, False: 48]
  |  |  ------------------
  ------------------
  |  Branch (109:17): [True: 398, False: 2.02k]
  ------------------
  110|    350|                adam_offset = H4(0x3c);
  ------------------
  |  |   93|    350|#define H4(x) get_le32(h + (x))
  ------------------
  111|  15.2k|        } else if (memcmp(h, "BW", 2) == 0) {
  ------------------
  |  Branch (111:20): [True: 120, False: 15.0k]
  ------------------
  112|    120|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|    120|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|    120|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  113|  15.0k|        } else if (memcmp(h, "PMW1", 4) == 0) {
  ------------------
  |  Branch (113:20): [True: 149, False: 14.9k]
  ------------------
  114|    149|            fi->seek(adam_offset + H4(0x18), SEEK_SET);
  ------------------
  |  |   93|    149|#define H4(x) get_le32(h + (x))
  ------------------
  115|    149|            adam_offset += H4(0x24);
  ------------------
  |  |   93|    149|#define H4(x) get_le32(h + (x))
  ------------------
  116|    149|            unsigned objs = H4(0x1c);
  ------------------
  |  |   93|    149|#define H4(x) get_le32(h + (x))
  ------------------
  117|  1.05k|            while (objs--) {
  ------------------
  |  Branch (117:20): [True: 910, False: 149]
  ------------------
  118|    910|                fi->readx(h, 0x18);
  119|    910|                adam_offset += H4(4);
  ------------------
  |  |   93|    910|#define H4(x) get_le32(h + (x))
  ------------------
  120|    910|            }
  121|  14.9k|        } else if (memcmp(h, "LE", 2) == 0) {
  ------------------
  |  Branch (121:20): [True: 459, False: 14.4k]
  ------------------
  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.4k|        } else if (memcmp(h, "Adam", 4) == 0) {
  ------------------
  |  Branch (128:20): [True: 108, False: 14.3k]
  ------------------
  129|    108|            break;
  130|    108|        } else
  131|  14.3k|            return 0;
  132|  17.6k|    }
  133|    255|    if (ic == 20)
  ------------------
  |  Branch (133:9): [True: 110, False: 145]
  ------------------
  134|    110|        return 0;
  135|       |
  136|    145|    fi->seek(adam_offset, SEEK_SET);
  137|    145|    fi->readx(&ih, sizeof(ih));
  138|       |
  139|       |    // TODO: could add more checks for the values in 'ih'
  140|    145|    const unsigned imagesize = ih.imagesize;
  141|    145|    const unsigned entry = ih.entry;
  142|    145|    const unsigned rsize = ih.relocsize;
  143|    145|    if (imagesize < sizeof(ih) || imagesize >= file_size_u || entry >= file_size_u ||
  ------------------
  |  Branch (143:9): [True: 42, False: 103]
  |  Branch (143:35): [True: 39, False: 64]
  |  Branch (143:63): [True: 29, False: 35]
  ------------------
  144|     83|        rsize >= file_size_u) {
  ------------------
  |  Branch (144:9): [True: 10, False: 25]
  ------------------
  145|     83|        throwCantPack("%s: bad header: imagesize=%#x entry=%#x relocsize=%#x", getName(), imagesize,
  146|     83|                      entry, rsize);
  147|      0|        return 0;
  148|     83|    }
  149|       |
  150|     62|    return UPX_F_TMT_ADAM;
  ------------------
  |  |  577|     62|#define UPX_F_TMT_ADAM            8
  ------------------
  151|    145|#undef H4
  152|    145|#undef H
  153|    145|}
_ZN7PackTmt9canUnpackEv:
  270|  14.6k|tribool PackTmt::canUnpack() {
  271|  14.6k|    if (!readFileHeader())
  ------------------
  |  Branch (271:9): [True: 13.9k, False: 650]
  ------------------
  272|  13.9k|        return false;
  273|    650|    fi->seek(adam_offset, SEEK_SET);
  274|    650|    return readPackHeader(512) ? 1 : -1;
  ------------------
  |  Branch (274:12): [True: 7, False: 643]
  ------------------
  275|  14.6k|}
_ZN7PackTmt6unpackEP10OutputFile:
  277|      7|void PackTmt::unpack(OutputFile *fo) {
  278|      7|    Packer::handleStub(fi, fo, adam_offset);
  279|       |
  280|      7|    ibuf.alloc(ph.c_len);
  281|      7|    obuf.allocForDecompression(ph.u_len);
  282|       |
  283|      7|    fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  284|      7|    fi->readx(ibuf, ph.c_len);
  285|       |
  286|       |    // decompress
  287|      7|    decompress(ibuf, obuf);
  288|       |
  289|       |    // read extra_info from the tail of the decompressed image
  290|      7|    if (ph.u_len < 8)
  ------------------
  |  Branch (290:9): [True: 0, False: 7]
  ------------------
  291|      0|        throwCantUnpack("file damaged");
  292|      7|    const unsigned orig_entry = mem_size(1, get_le32(obuf + (ph.u_len - 8)));
  293|      7|    const unsigned orelocsize = mem_size(1, get_le32(obuf + (ph.u_len - 4)));
  294|      7|    const unsigned osize = mem_size(1, ph.u_len - orelocsize);
  295|       |
  296|       |    // unfilter
  297|      7|    if (ph.filter) {
  ------------------
  |  Branch (297:9): [True: 0, False: 7]
  ------------------
  298|      0|        Filter ft(ph.level);
  299|      0|        ft.init(ph.filter, 0);
  300|      0|        ft.cto = (byte) ph.filter_cto;
  301|      0|        if (ph.version < 11) {
  ------------------
  |  Branch (301:13): [True: 0, False: 0]
  ------------------
  302|      0|            if (ph.u_len < 12)
  ------------------
  |  Branch (302:17): [True: 0, False: 0]
  ------------------
  303|      0|                throwCantUnpack("file damaged");
  304|      0|            ft.cto = (byte) (get_le32(obuf + (ph.u_len - 12)) >> 24);
  305|      0|        }
  306|      0|        ft.unfilter(obuf, osize);
  307|      0|    }
  308|       |
  309|       |    // decode relocations
  310|      7|    SPAN_S_VAR(const byte, orelocs, raw_index_bytes(obuf, osize, orelocsize), orelocsize);
  ------------------
  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|      7|    SPAN_S_VAR(byte, reloc_image, raw_index_bytes(obuf, 0, osize), osize);
  ------------------
  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  312|      7|    MemBuffer mb_relocs;
  313|      7|    const unsigned relocnum = unoptimizeReloc(orelocs, mb_relocs, reloc_image, osize, 32, true);
  314|      7|    SPAN_S_VAR(byte, relocs, mb_relocs);
  ------------------
  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|      7|    for (unsigned ic = 0; ic < relocnum; ic++)
  ------------------
  |  Branch (315:27): [True: 0, False: 7]
  ------------------
  316|      0|        set_le32(relocs + 4 * ic, get_le32(relocs + 4 * ic) + 4);
  317|       |
  318|      7|    memcpy(&oh, &ih, sizeof(oh));
  319|      7|    oh.imagesize = osize;
  320|      7|    oh.entry = orig_entry;
  321|      7|    oh.relocsize = relocnum * 4;
  322|       |
  323|      7|    const unsigned overlay = file_size - adam_offset - ih.imagesize - ih.relocsize - sizeof(ih);
  324|      7|    checkOverlay(overlay);
  325|       |
  326|       |    // write decompressed file
  327|      7|    if (fo) {
  ------------------
  |  Branch (327:9): [True: 0, False: 7]
  ------------------
  328|      0|        fo->write(&oh, sizeof(oh));
  329|      0|        fo->write(obuf, osize);
  330|      0|        fo->write(relocs, relocnum * 4);
  331|      0|    }
  332|       |
  333|       |    // copy the overlay
  334|      7|    copyOverlay(fo, overlay, obuf);
  335|      7|}

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

_ZN7PackTosC2EP9InputFile:
   51|  2.65k|PackTos::PackTos(InputFile *f) : super(f) {
   52|  2.65k|    bele = &N_BELE_RTP::be_policy;
   53|  2.65k|    COMPILE_TIME_ASSERT(FH_SIZE == 28)
  ------------------
  |  |  266|  2.65k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.65k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|  2.65k|    COMPILE_TIME_ASSERT_ALIGNED1(tos_header_t)
  ------------------
  |  |  465|  2.65k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  2.65k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  2.65k|    {                                                                                              \
  |  |  |  |  |  |  448|  2.65k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  2.65k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  2.65k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  2.65k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  2.65k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  2.65k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  2.65k|        };                                                                                         \
  |  |  |  |  |  |  455|  2.65k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.65k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.65k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  2.65k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  2.65k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.65k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  2.65k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  2.65k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  2.65k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  2.65k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  2.65k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.65k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.65k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  2.65k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  2.65k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.65k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  2.65k|}
_ZN7PackTos14readFileHeaderEv:
  260|  2.65k|int PackTos::readFileHeader() {
  261|  2.65k|    fi->seek(0, SEEK_SET);
  262|  2.65k|    fi->readx(&ih, FH_SIZE);
  ------------------
  |  |   49|  2.65k|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  263|  2.65k|    if (ih.fh_magic != 0x601a)
  ------------------
  |  Branch (263:9): [True: 2.55k, False: 98]
  ------------------
  264|  2.55k|        return 0;
  265|     98|    if (0ull + FH_SIZE + ih.fh_text + ih.fh_data + ih.fh_sym > file_size_u)
  ------------------
  |  |   49|     98|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  |  Branch (265:9): [True: 8, False: 90]
  ------------------
  266|      8|        return 0;
  267|     90|    return UPX_F_ATARI_TOS;
  ------------------
  |  |  617|     90|#define UPX_F_ATARI_TOS         129
  ------------------
  268|     98|}
_ZN7PackTos15checkFileHeaderEv:
  270|     38|bool PackTos::checkFileHeader() {
  271|     38|    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|     38|    if ((ih.fh_text & 1) || (ih.fh_data & 1))
  ------------------
  |  Branch (274:9): [True: 0, False: 38]
  |  Branch (274:29): [True: 0, False: 38]
  ------------------
  275|      0|        throwCantPack("odd size values in text/data");
  276|     38|    if (f & F_OS_SPECIAL)
  ------------------
  |  |  243|     38|#define F_OS_SPECIAL 0x8000 // mark as a special process
  ------------------
  |  Branch (276:9): [True: 1, False: 37]
  ------------------
  277|      1|        throwCantPack("I won't pack F_OS_SPECIAL programs");
  278|     37|    if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  247|     37|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  252|     37|#define F_PROT_I   0x40 // invalid page
  ------------------
  |  Branch (278:9): [True: 1, False: 36]
  ------------------
  279|      1|        throwCantPack("invalid protection mode");
  280|     36|    if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  247|     36|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  248|     36|#define F_PROT_P   0x00 // no read or write
  ------------------
  |  Branch (280:9): [True: 1, False: 35]
  ------------------
  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|     35|    if (f & F_SHTEXT) {
  ------------------
  |  |  234|     35|#define F_SHTEXT   0x800 // program's text may be shared
  ------------------
  |  Branch (284:9): [True: 1, False: 34]
  ------------------
  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|     34|    return true;
  296|     35|}
_ZN7PackTos9canUnpackEv:
  677|  2.65k|tribool PackTos::canUnpack() {
  678|  2.65k|    if (!readFileHeader())
  ------------------
  |  Branch (678:9): [True: 2.56k, False: 90]
  ------------------
  679|  2.56k|        return false;
  680|     90|    if (!readPackHeader(768))
  ------------------
  |  Branch (680:9): [True: 4, False: 86]
  ------------------
  681|      4|        return false;
  682|       |    // check header as set by packer
  683|     86|    if ((ih.fh_text & 3) != 0 || (ih.fh_data & 3) != 0 || (ih.fh_bss & 3) != 0 || ih.fh_sym != 0 ||
  ------------------
  |  Branch (683:9): [True: 17, False: 69]
  |  Branch (683:34): [True: 2, False: 67]
  |  Branch (683:59): [True: 2, False: 65]
  |  Branch (683:83): [True: 8, False: 57]
  ------------------
  684|     57|        ih.fh_reserved != 0 || ih.fh_reloc > 1)
  ------------------
  |  Branch (684:9): [True: 18, False: 39]
  |  Branch (684:32): [True: 1, False: 38]
  ------------------
  685|     32|        throwCantUnpack("program header damaged");
  686|       |    // generic check
  687|     54|    if (!checkFileHeader())
  ------------------
  |  Branch (687:9): [True: 0, False: 54]
  ------------------
  688|      0|        throwCantUnpack("unsupported header flags");
  689|     54|    return true;
  690|     54|}
_ZN7PackTos6unpackEP10OutputFile:
  696|     34|void PackTos::unpack(OutputFile *fo) {
  697|     34|    ibuf.alloc(ph.c_len);
  698|     34|    obuf.allocForDecompression(ph.u_len);
  699|       |
  700|     34|    fi->seek(FH_SIZE + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  ------------------
  |  |   49|     34|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  701|     34|    fi->readx(ibuf, ph.c_len);
  702|       |
  703|       |    // decompress
  704|     34|    decompress(ibuf, obuf);
  705|       |
  706|       |    // the trailing FH_SIZE bytes hold the original file header
  707|     34|    if (ph.u_len < FH_SIZE)
  ------------------
  |  |   49|     34|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  |  Branch (707:9): [True: 0, False: 34]
  ------------------
  708|      0|        throwCantUnpack("file damaged");
  709|       |
  710|       |    // write original header & decompressed file
  711|     34|    if (fo) {
  ------------------
  |  Branch (711:9): [True: 1, False: 33]
  ------------------
  712|      1|        unsigned overlay = file_size_u - (FH_SIZE + ih.fh_text + ih.fh_data);
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  713|      1|        if (ih.fh_reloc == 0 && overlay >= 4)
  ------------------
  |  Branch (713:13): [True: 1, False: 0]
  |  Branch (713:33): [True: 1, False: 0]
  ------------------
  714|      1|            overlay -= 4; // this is our empty fixup
  715|      1|        checkOverlay(overlay);
  716|       |
  717|      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)
  ------------------
  718|      1|        fo->write(obuf, ph.u_len - FH_SIZE);             // orig. text+data+relocs
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  719|       |
  720|       |        // copy any overlay
  721|      1|        copyOverlay(fo, overlay, obuf);
  722|      1|    }
  723|     34|}

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

_ZN8PackUnixC2EP9InputFile:
   50|   183k|    super(f), exetype(0), blocksize(0), overlay_offset(0), lsize(0),
   51|   183k|    methods_used(0), szb_info(sizeof(b_info))
   52|   183k|{
   53|   183k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Ehdr) == 52)
  ------------------
  |  |  266|   183k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   183k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|   183k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Phdr) == 32)
  ------------------
  |  |  266|   183k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   183k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|   183k|    COMPILE_TIME_ASSERT(sizeof(b_info) == 12)
  ------------------
  |  |  266|   183k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   183k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|   183k|    COMPILE_TIME_ASSERT(sizeof(l_info) == 12)
  ------------------
  |  |  266|   183k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   183k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   57|   183k|    COMPILE_TIME_ASSERT(sizeof(p_info) == 12)
  ------------------
  |  |  266|   183k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   183k|#    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|   183k|    saved_opt_android_shlib = opt->o_unix.android_shlib;
   64|   183k|    opt->o_unix.android_shlib = 0;  // Must apply selectively
   65|       |    // Besides, cannot figure out why asl_slide_Shdrs does not work.
   66|   183k|}
_ZN8PackUnixD2Ev:
   69|   183k|{
   70|   183k|    opt->o_unix.android_shlib = saved_opt_android_shlib;
   71|   183k|}
_ZN8PackUnix12unpackExtentEjP10OutputFileRjS2_bi:
  484|  2.09k|{
  485|  2.09k|    b_info hdr; memset(&hdr, 0, sizeof(hdr));
  486|  2.09k|    unsigned inlen = 0; // output index (if-and-only-if peeking)
  487|  36.7k|    while (wanted) {
  ------------------
  |  Branch (487:12): [True: 35.6k, False: 1.03k]
  ------------------
  488|  35.6k|        fi->readx(&hdr, szb_info);
  489|  35.6k|        int const sz_unc = ph.u_len = get_te32(&hdr.sz_unc);
  490|  35.6k|        int const sz_cpr = ph.c_len = get_te32(&hdr.sz_cpr);
  491|  35.6k|        ph.filter_cto = hdr.b_cto8;
  492|       |
  493|  35.6k|        if (sz_unc == 0 || M_LZMA < hdr.b_method) {
  ------------------
  |  |  645|  35.6k|#define M_LZMA        14
  ------------------
  |  Branch (493:13): [True: 29, False: 35.6k]
  |  Branch (493:28): [True: 351, False: 35.3k]
  ------------------
  494|    379|            throwCantUnpack("corrupt b_info");
  495|      0|            break;
  496|    379|        }
  497|  35.3k|        if (sz_unc <= 0 || sz_cpr <= 0)
  ------------------
  |  Branch (497:13): [True: 115, False: 35.1k]
  |  Branch (497:28): [True: 77, False: 35.1k]
  ------------------
  498|    191|            throwCantUnpack("corrupt b_info");
  499|  35.1k|        if (sz_cpr > sz_unc || sz_unc > (int)blocksize)
  ------------------
  |  Branch (499:13): [True: 141, False: 34.9k]
  |  Branch (499:32): [True: 163, False: 34.8k]
  ------------------
  500|    303|            throwCantUnpack("corrupt b_info");
  501|       |
  502|  34.8k|        if (ibuf.getSize() < inlen + (unsigned)sz_unc) {
  ------------------
  |  Branch (502:13): [True: 0, False: 34.8k]
  ------------------
  503|      0|            throwCantUnpack("corrupt b_info");
  504|      0|        }
  505|  34.8k|        MemBuffer cbuf(sz_cpr);
  506|  34.8k|        fi->readx(cbuf, sz_cpr);
  507|  34.8k|        total_in += sz_cpr;
  508|       |        // update checksum of compressed data
  509|  34.8k|        c_adler = upx_adler32(cbuf, sz_cpr, c_adler);
  510|       |
  511|  34.8k|        if (sz_cpr < sz_unc) { // block was compressed
  ------------------
  |  Branch (511:13): [True: 31.7k, False: 3.07k]
  ------------------
  512|  31.7k|            ph.set_method(hdr.b_method);
  513|  31.7k|            decompress(cbuf, ibuf+inlen, false);
  514|  31.7k|            if (12==szb_info) { // modern per-block filter
  ------------------
  |  Branch (514:17): [True: 31.3k, False: 411]
  ------------------
  515|  31.3k|                if (hdr.b_ftid) {
  ------------------
  |  Branch (515:21): [True: 30.5k, False: 775]
  ------------------
  516|  30.5k|                    Filter ft(ph.level);  // FIXME: ph.level for b_info?
  517|  30.5k|                    ft.init(hdr.b_ftid, 0);
  518|  30.5k|                    ft.cto = hdr.b_cto8;
  519|  30.5k|                    ft.unfilter(ibuf+inlen, sz_unc);
  520|  30.5k|                }
  521|  31.3k|            }
  522|    411|            else { // ancient per-file filter
  523|    411|                if (first_PF_X) { // Elf32_Ehdr is never filtered
  ------------------
  |  Branch (523:21): [True: 0, False: 411]
  ------------------
  524|      0|                    first_PF_X = false;  // but everything else might be
  525|      0|                }
  526|    411|                else if (ph.filter) {
  ------------------
  |  Branch (526:26): [True: 0, False: 411]
  ------------------
  527|      0|                    Filter ft(ph.level);
  528|      0|                    ft.init(ph.filter, 0);
  529|      0|                    ft.cto = (unsigned char) ph.filter_cto;
  530|      0|                    ft.unfilter(ibuf+inlen, sz_unc);
  531|      0|                }
  532|    411|            }
  533|  31.7k|        }
  534|  3.07k|        else if (sz_cpr == sz_unc) { // slide literal (non-compressible) block
  ------------------
  |  Branch (534:18): [True: 2.95k, False: 122]
  ------------------
  535|  2.95k|            memcpy(&ibuf[inlen], cbuf, sz_unc);
  536|  2.95k|        }
  537|       |        // update checksum of uncompressed data
  538|  34.8k|        u_adler = upx_adler32(ibuf + inlen, sz_unc, u_adler);
  539|       |        // write block
  540|  34.8k|        if (fo) {
  ------------------
  |  Branch (540:13): [True: 34.0k, False: 733]
  ------------------
  541|  34.0k|            if (is_rewrite) {
  ------------------
  |  Branch (541:17): [True: 140, False: 33.9k]
  ------------------
  542|    140|                fo->rewrite(ibuf, sz_unc);
  543|    140|            }
  544|  33.9k|            else {
  545|  33.9k|                fo->write(ibuf, sz_unc);
  546|  33.9k|                total_out += sz_unc;
  547|  33.9k|            }
  548|  34.0k|        }
  549|    733|        else if (is_rewrite < 0) { // append to &ibuf[inlen]
  ------------------
  |  Branch (549:18): [True: 193, False: 540]
  ------------------
  550|    193|            inlen += sz_unc;  // accounting; data is already there
  551|    193|            if (wanted <= (unsigned)sz_unc)  // done
  ------------------
  |  Branch (551:17): [True: 193, False: 0]
  ------------------
  552|    193|                break;
  553|    193|        }
  554|    540|        else if (wanted < (unsigned)sz_unc) // mismatched end-of-block
  ------------------
  |  Branch (554:18): [True: 0, False: 540]
  ------------------
  555|      0|            throwCantUnpack("corrupt b_info");
  556|    540|        else { // "upx -t": (!fo && !(is_rewrite < 0))
  557|       |            // No output.
  558|    540|        }
  559|  34.6k|        wanted -= sz_unc;
  560|  34.6k|    }
  561|  1.22k|    return inlen;
  562|  2.09k|}
_ZN8PackUnix9canUnpackEv:
  570|  27.3k|{
  571|  27.3k|    int const small = 32 + sizeof(overlay_offset);
  572|       |    // Allow zero-filled last page, for Mac OS X code signing.
  573|  27.3k|    int bufsize = 2*4096 + 2*small +1;
  574|  27.3k|    if (bufsize > fi->st_size())
  ------------------
  |  Branch (574:9): [True: 25.0k, False: 2.32k]
  ------------------
  575|  25.0k|        bufsize = fi->st_size();
  576|  27.3k|    MemBuffer buf(bufsize);
  577|       |
  578|       |    fi->seek(-(off_t)bufsize, SEEK_END);
  579|  27.3k|    fi->readx(buf, bufsize);
  580|  27.3k|    return find_overlay_offset(buf);
  581|  27.3k|}
_ZN8PackUnix19find_overlay_offsetERK9MemBuffer:
  584|  27.3k|{
  585|  27.3k|    int const small = 32 + sizeof(overlay_offset);
  586|  27.3k|    int const bufsize = buf.getSize();
  587|  27.3k|    int i = bufsize;
  588|   682k|    while (i > small && 0 == buf[--i]) { }
  ------------------
  |  Branch (588:12): [True: 682k, False: 56]
  |  Branch (588:25): [True: 655k, False: 27.3k]
  ------------------
  589|  27.3k|    i -= small;
  590|       |    // allow incompressible extents
  591|  27.3k|    if (i < 0 || !getPackHeader(buf + i, bufsize - i, true))
  ------------------
  |  Branch (591:9): [True: 0, False: 27.3k]
  |  Branch (591:18): [True: 22.1k, False: 5.23k]
  ------------------
  592|  21.9k|        return false;
  593|       |
  594|  5.44k|    int l = ph.buf_offset + ph.getPackHeaderSize();
  595|  5.44k|    if (l < 0 || i + l + 4 > bufsize)
  ------------------
  |  Branch (595:9): [True: 215, False: 5.23k]
  |  Branch (595:18): [True: 3, False: 5.23k]
  ------------------
  596|      3|        throwCantUnpack("file corrupted");
  597|  5.44k|    overlay_offset = get_te32(buf + i + l);
  598|  5.44k|    if ((off_t)overlay_offset >= file_size)
  ------------------
  |  Branch (598:9): [True: 31, False: 5.41k]
  ------------------
  599|     31|        throwCantUnpack("file corrupted");
  600|       |
  601|  5.41k|    return true;
  602|  5.44k|}
_ZN8PackUnix6unpackEP10OutputFile:
  612|  1.23k|{
  613|  1.23k|    b_info bhdr;
  614|  1.23k|    unsigned c_adler = upx_adler32(nullptr, 0);
  615|  1.23k|    unsigned u_adler = upx_adler32(nullptr, 0);
  616|       |
  617|  1.23k|    if (ph.version <= 11) {
  ------------------
  |  Branch (617:9): [True: 6, False: 1.22k]
  ------------------
  618|      6|        szb_info = sizeof(bhdr.sz_unc) + sizeof(bhdr.sz_cpr);  // old style
  619|      6|    }
  620|       |    // defaults for ph.version == 8
  621|  1.23k|    unsigned orig_file_size = 0;
  622|  1.23k|    blocksize = 512 * 1024;
  623|       |
  624|  1.23k|    fi->seek(overlay_offset, SEEK_SET);
  625|  1.23k|    if (ph.version > 8)
  ------------------
  |  Branch (625:9): [True: 1.23k, False: 0]
  ------------------
  626|  1.23k|    {
  627|  1.23k|        p_info hbuf;
  628|  1.23k|        fi->readx(&hbuf, sizeof(hbuf));
  629|  1.23k|        orig_file_size = get_te32(&hbuf.p_filesize);
  630|  1.23k|        blocksize = get_te32(&hbuf.p_blocksize);
  631|  1.23k|        off_t max_inflated = file_size * 273;  // zlib limit (256 + 16 + 1)
  ------------------
  |  |  235|  1.23k|#define off_t upx_off_t
  ------------------
  632|       |
  633|  1.23k|        if (max_inflated < orig_file_size
  ------------------
  |  Branch (633:13): [True: 24, False: 1.20k]
  ------------------
  634|  1.20k|        ||  max_inflated < blocksize
  ------------------
  |  Branch (634:13): [True: 11, False: 1.19k]
  ------------------
  635|  1.19k|        ||  file_size > (off_t)orig_file_size
  ------------------
  |  Branch (635:13): [True: 20, False: 1.17k]
  ------------------
  636|  1.17k|        ||  blocksize > orig_file_size) {
  ------------------
  |  Branch (636:13): [True: 18, False: 1.16k]
  ------------------
  637|     71|            throwCantUnpack("file header corrupted");
  638|     71|        }
  639|  1.23k|    }
  640|      0|    else
  641|      0|    {
  642|       |        // skip 4 bytes (program id)
  643|      0|        fi->seek(4, SEEK_CUR);
  644|      0|    }
  645|       |
  646|  1.16k|    if ((int)(blocksize + OVERHEAD) < 0)
  ------------------
  |  Branch (646:9): [True: 0, False: 1.16k]
  ------------------
  647|      0|        throwCantUnpack("blocksize corrupted");
  648|  1.16k|    ibuf.alloc(blocksize + OVERHEAD + (blocksize >> ELF_NRV_FUDGE));
  649|       |
  650|       |    // decompress blocks
  651|  1.16k|    total_in = 0;
  652|  1.16k|    total_out = 0;
  653|  1.16k|    memset(&bhdr, 0, sizeof(bhdr));
  654|  1.16k|    for (;;)
  655|  9.69k|    {
  656|  9.69k|#define buf ibuf
  657|  9.69k|        int i;
  658|  9.69k|        unsigned sz_unc, sz_cpr;
  659|       |
  660|  9.69k|        fi->readx(&bhdr, szb_info);
  661|  9.69k|        ph.u_len = sz_unc = get_te32(&bhdr.sz_unc);
  662|  9.69k|        ph.c_len = sz_cpr = get_te32(&bhdr.sz_cpr);
  663|  9.69k|        if (szb_info < sizeof(b_info)) { // some upx version 11
  ------------------
  |  Branch (663:13): [True: 13, False: 9.68k]
  ------------------
  664|     13|            bhdr.b_method = ph.method;
  665|     13|            bhdr.b_ftid = ph.filter;
  666|     13|            bhdr.b_cto8 = ph.filter_cto;
  667|     13|        }
  668|       |
  669|  9.69k|        if (sz_unc == 0)                   // uncompressed size 0 -> EOF
  ------------------
  |  Branch (669:13): [True: 262, False: 9.43k]
  ------------------
  670|    262|        {
  671|       |            // note: must reload sz_cpr as magic is always stored le32
  672|    262|            sz_cpr = get_le32(&bhdr.sz_cpr);
  673|    262|            if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  553|    262|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (673:17): [True: 127, False: 135]
  ------------------
  674|    127|                throwCompressedDataViolation();
  675|    135|            break;
  676|    262|        }
  677|       |        // Minimum compressed length: LZMA has 5-byte info header.
  678|       |        // NRV_d8 has 1-byte initial 8 flag bits, plus end-of-block marker
  679|       |        // (32 bit look-back offset of all 1s: encoded as 24 pairs of bits
  680|       |        // {not last, 1} then low 8-bits of 0xff; total: 8 + 2*24 + 8 bits
  681|       |        // ==> 8 bytes)
  682|  9.43k|        if (sz_unc <= 0 || sz_cpr <= 5u
  ------------------
  |  Branch (682:13): [True: 6, False: 9.42k]
  |  Branch (682:28): [True: 7, False: 9.42k]
  ------------------
  683|  9.42k|        ||  sz_cpr > sz_unc || sz_unc > blocksize)
  ------------------
  |  Branch (683:13): [True: 129, False: 9.29k]
  |  Branch (683:32): [True: 246, False: 9.04k]
  ------------------
  684|    382|            throwCantUnpack("corrupt b_info %#x %#x", sz_unc, sz_cpr);
  685|       |
  686|       |        // Compressed output has control bytes such as the 32-bit
  687|       |        // first flag bits of NRV_d32, the 5-byte info of LZMA, etc.
  688|       |        // Fuzzers may try sz_cpr shorter than possible.
  689|       |        // Use some OVERHEAD for safety.
  690|  9.05k|        i = blocksize + OVERHEAD - upx::umax(12u, sz_cpr);
  691|  9.05k|        if (i < 0)
  ------------------
  |  Branch (691:13): [True: 0, False: 9.05k]
  ------------------
  692|      0|            throwCantUnpack("corrupt b_info %#x %#x", sz_cpr, blocksize);
  693|  9.05k|        fi->readx(buf+i, sz_cpr);
  ------------------
  |  |  656|  18.1k|#define buf ibuf
  ------------------
  694|       |        // update checksum of compressed data
  695|  9.05k|        c_adler = upx_adler32(buf + i, sz_cpr, c_adler);
  ------------------
  |  |  656|  18.1k|#define buf ibuf
  ------------------
  696|       |        // decompress
  697|  9.05k|        if (sz_cpr < sz_unc) {
  ------------------
  |  Branch (697:13): [True: 3.35k, False: 5.69k]
  ------------------
  698|  3.35k|            decompress(buf+i, buf, false);
  ------------------
  |  |  656|  6.70k|#define buf ibuf
  ------------------
                          decompress(buf+i, buf, false);
  ------------------
  |  |  656|  3.35k|#define buf ibuf
  ------------------
  699|  3.35k|            if (0!=bhdr.b_ftid) {
  ------------------
  |  Branch (699:17): [True: 2.85k, False: 501]
  ------------------
  700|  2.85k|                Filter ft(ph.level);
  701|  2.85k|                ft.init(bhdr.b_ftid);
  702|  2.85k|                ft.cto = bhdr.b_cto8;
  703|  2.85k|                ft.unfilter(buf, sz_unc);
  ------------------
  |  |  656|  2.85k|#define buf ibuf
  ------------------
  704|  2.85k|            }
  705|  3.35k|            i = 0;
  706|  3.35k|        }
  707|       |        // update checksum of uncompressed data
  708|  9.05k|        u_adler = upx_adler32(buf + i, sz_unc, u_adler);
  ------------------
  |  |  656|  18.1k|#define buf ibuf
  ------------------
  709|  9.05k|        total_in  += sz_cpr;
  710|  9.05k|        total_out += sz_unc;
  711|       |        // write block
  712|  9.05k|        if (fo)
  ------------------
  |  Branch (712:13): [True: 8.53k, False: 516]
  ------------------
  713|  8.53k|            fo->write(buf + i, sz_unc);
  ------------------
  |  |  656|  17.0k|#define buf ibuf
  ------------------
  714|  9.05k|#undef buf
  715|  9.05k|    }
  716|       |
  717|       |    // update header with totals
  718|    653|    ph.c_len = total_in;
  719|    653|    ph.u_len = total_out;
  720|       |
  721|       |    // all bytes must be written
  722|    653|    if (ph.version > 8 && total_out != orig_file_size)
  ------------------
  |  Branch (722:9): [True: 135, False: 518]
  |  Branch (722:27): [True: 23, False: 112]
  ------------------
  723|     23|        throwEOFException();
  724|       |
  725|       |    // finally test the checksums
  726|    630|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (726:9): [True: 627, False: 3]
  |  Branch (726:34): [True: 1, False: 2]
  ------------------
  727|    110|        throwChecksumError();
  728|    630|}

_ZNK8PackUnix10getVersionEv:
   47|  16.8k|    virtual int getVersion() const override { return 13; }
_ZN12PackUnixLe32C2EP9InputFile:
  185|  19.3k|    PackUnixLe32(InputFile *f) : super(f) { bele = &N_BELE_RTP::le_policy; }

_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.0k|    super(f),
   65|  27.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.0k|    my_boot_label(boot_label),
   67|  27.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.0k|{
   69|  27.0k|    ElfClass::compileTimeAssertions();
   70|  27.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
   75|  27.0k|{
   76|  27.0k|    delete [] phdri;
   77|  27.0k|    delete [] shdri;
   78|  27.0k|    delete [] shstrtab;
   79|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE14getElfSectionsEv:
  120|    288|{
  121|    288|    unsigned const e_shnum = ehdri.e_shnum;
  122|    288|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 288]
  ------------------
  123|    288|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 288]
  ------------------
  124|    288|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 288]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    288|    shdri = new Shdr[(unsigned) e_shnum];
  129|    288|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    288|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    288|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    288|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 6, False: 282]
  ------------------
  133|      6|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      6|        return nullptr;
  135|      6|    }
  136|    282|    Shdr const *p = &shdri[e_shstrndx];
  137|    282|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 252, False: 30]
  ------------------
  138|    252|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 236, False: 16]
  ------------------
  139|    236|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 213, False: 23]
  ------------------
  140|    213|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 191, False: 22]
  ------------------
  141|    191|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 189, False: 2]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    282|    ) {
  144|    189|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 14, False: 175]
  ------------------
  145|     14|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|     14|            return nullptr;
  147|     14|        }
  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: 118, False: 57]
  ------------------
  153|    118|            return p;
  154|    118|        }
  155|    175|    }
  156|    150|    return nullptr;
  157|    282|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
  575|  27.0k|{
  576|  27.0k|    fi->seek(0, SEEK_SET);
  577|  27.0k|    fi->readx(&ehdri, sizeof(ehdri));
  578|       |
  579|       |    // now check the ELF header
  580|  27.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (580:9): [True: 9.18k, False: 17.8k]
  ------------------
  581|  17.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (581:9): [True: 7.43k, False: 10.4k]
  ------------------
  582|  10.4k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (582:9): [True: 4.81k, False: 5.60k]
  ------------------
  583|  5.60k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (583:9): [True: 1.10k, False: 4.49k]
  ------------------
  584|  4.49k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (584:9): [True: 4, False: 4.49k]
  ------------------
  585|  4.49k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (585:9): [True: 2.38k, False: 2.10k]
  ------------------
  586|  2.10k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (586:9): [True: 48, False: 2.05k]
  ------------------
  587|  2.05k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (587:9): [True: 64, False: 1.99k]
  ------------------
  588|  27.0k|    )
  589|  25.0k|        return false;
  590|       |
  591|  1.99k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (591:9): [True: 1.67k, False: 316]
  ------------------
  592|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  593|    316|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (593:9): [True: 3, False: 313]
  ------------------
  594|    313|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (594:9): [True: 1, False: 312]
  ------------------
  595|    312|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (595:9): [True: 24, False: 288]
  ------------------
  596|  1.99k|    )
  597|  1.70k|        return false;
  598|       |
  599|       |    // find the .shstrtab section
  600|    288|    Shdr const *const shstrsec = getElfSections();
  601|    288|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (601:9): [True: 170, False: 118]
  ------------------
  602|    170|        return false;
  603|    170|    }
  604|       |
  605|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  606|    118|    p_note0 = p_note1 = p_text = nullptr;
  607|    118|    int j;
  608|    118|    Shdr *p;
  609|  11.1k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (609:38): [True: 11.0k, False: 118]
  ------------------
  610|  11.0k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (610:13): [True: 7.14k, False: 3.93k]
  ------------------
  611|  3.93k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (611:12): [True: 275, False: 3.66k]
  ------------------
  612|  8.71k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (612:13): [True: 1.30k, False: 2.36k]
  ------------------
  613|  8.71k|            continue;
  614|  8.71k|        }
  615|  2.36k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (615:13): [True: 80, False: 2.28k]
  ------------------
  616|     80|            p_text = p;
  617|     80|        }
  618|  2.36k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (618:13): [True: 108, False: 2.25k]
  ------------------
  619|    108|            if (nullptr==p_note0) {
  ------------------
  |  Branch (619:17): [True: 18, False: 90]
  ------------------
  620|     18|                p_note0 = p;
  621|     18|            } else
  622|     90|            if (nullptr==p_note1) {
  ------------------
  |  Branch (622:17): [True: 16, False: 74]
  ------------------
  623|     16|                p_note1 = p;
  624|     16|            }
  625|    108|        }
  626|  2.36k|    }
  627|    118|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (627:9): [True: 104, False: 14]
  |  Branch (627:28): [True: 7, False: 7]
  |  Branch (627:48): [True: 1, False: 6]
  ------------------
  628|    112|        return false;
  629|    112|    }
  630|       |
  631|      6|    char buf[1024];
  632|      6|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  633|      6|    fi->readx(buf, sizeof(buf));
  634|      6|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (634:9): [True: 3, False: 3]
  ------------------
  635|      3|        return -1; // format is known, but definitely is not packed
  636|       |
  637|      3|    return true;
  638|      6|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.0k|    super(f),
   65|  27.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.0k|    my_boot_label(boot_label),
   67|  27.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.0k|{
   69|  27.0k|    ElfClass::compileTimeAssertions();
   70|  27.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  27.0k|{
   76|  27.0k|    delete [] phdri;
   77|  27.0k|    delete [] shdri;
   78|  27.0k|    delete [] shstrtab;
   79|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    297|{
  121|    297|    unsigned const e_shnum = ehdri.e_shnum;
  122|    297|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 297]
  ------------------
  123|    297|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 297]
  ------------------
  124|    297|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 297]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    297|    shdri = new Shdr[(unsigned) e_shnum];
  129|    297|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    297|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    297|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    297|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 5, False: 292]
  ------------------
  133|      5|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      5|        return nullptr;
  135|      5|    }
  136|    292|    Shdr const *p = &shdri[e_shstrndx];
  137|    292|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 251, False: 41]
  ------------------
  138|    251|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 233, False: 18]
  ------------------
  139|    233|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 211, False: 22]
  ------------------
  140|    211|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 186, False: 25]
  ------------------
  141|    186|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 183, False: 3]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    292|    ) {
  144|    183|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 11, False: 172]
  ------------------
  145|     11|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|     11|            return nullptr;
  147|     11|        }
  148|    172|        shstrtab = new char[1+ p->sh_size];
  149|    172|        fi->seek(p->sh_offset, SEEK_SET);
  150|    172|        fi->readx(shstrtab, p->sh_size);
  151|    172|        shstrtab[p->sh_size] = '\0';
  152|    172|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 110, False: 62]
  ------------------
  153|    110|            return p;
  154|    110|        }
  155|    172|    }
  156|    171|    return nullptr;
  157|    292|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  575|  27.0k|{
  576|  27.0k|    fi->seek(0, SEEK_SET);
  577|  27.0k|    fi->readx(&ehdri, sizeof(ehdri));
  578|       |
  579|       |    // now check the ELF header
  580|  27.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (580:9): [True: 9.18k, False: 17.8k]
  ------------------
  581|  17.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (581:9): [True: 7.43k, False: 10.4k]
  ------------------
  582|  10.4k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (582:9): [True: 6.32k, False: 4.10k]
  ------------------
  583|  4.10k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (583:9): [True: 830, False: 3.27k]
  ------------------
  584|  3.27k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (584:9): [True: 2, False: 3.27k]
  ------------------
  585|  3.27k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (585:9): [True: 1.82k, False: 1.44k]
  ------------------
  586|  1.44k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (586:9): [True: 89, False: 1.35k]
  ------------------
  587|  1.35k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (587:9): [True: 776, False: 580]
  ------------------
  588|  27.0k|    )
  589|  26.4k|        return false;
  590|       |
  591|    580|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (591:9): [True: 270, False: 310]
  ------------------
  592|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  593|    310|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (593:9): [True: 3, False: 307]
  ------------------
  594|    307|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (594:9): [True: 1, False: 306]
  ------------------
  595|    306|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (595:9): [True: 9, False: 297]
  ------------------
  596|    580|    )
  597|    283|        return false;
  598|       |
  599|       |    // find the .shstrtab section
  600|    297|    Shdr const *const shstrsec = getElfSections();
  601|    297|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (601:9): [True: 187, False: 110]
  ------------------
  602|    187|        return false;
  603|    187|    }
  604|       |
  605|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  606|    110|    p_note0 = p_note1 = p_text = nullptr;
  607|    110|    int j;
  608|    110|    Shdr *p;
  609|  38.0k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (609:38): [True: 37.9k, False: 110]
  ------------------
  610|  37.9k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (610:13): [True: 23.2k, False: 14.6k]
  ------------------
  611|  14.6k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (611:12): [True: 658, False: 14.0k]
  ------------------
  612|  28.1k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (612:13): [True: 4.25k, False: 9.76k]
  ------------------
  613|  28.1k|            continue;
  614|  28.1k|        }
  615|  9.76k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (615:13): [True: 237, False: 9.52k]
  ------------------
  616|    237|            p_text = p;
  617|    237|        }
  618|  9.76k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (618:13): [True: 243, False: 9.51k]
  ------------------
  619|    243|            if (nullptr==p_note0) {
  ------------------
  |  Branch (619:17): [True: 17, False: 226]
  ------------------
  620|     17|                p_note0 = p;
  621|     17|            } else
  622|    226|            if (nullptr==p_note1) {
  ------------------
  |  Branch (622:17): [True: 15, False: 211]
  ------------------
  623|     15|                p_note1 = p;
  624|     15|            }
  625|    243|        }
  626|  9.76k|    }
  627|    110|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (627:9): [True: 92, False: 18]
  |  Branch (627:28): [True: 10, False: 8]
  |  Branch (627:48): [True: 2, False: 6]
  ------------------
  628|    104|        return false;
  629|    104|    }
  630|       |
  631|      6|    char buf[1024];
  632|      6|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  633|      6|    fi->readx(buf, sizeof(buf));
  634|      6|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (634:9): [True: 2, False: 4]
  ------------------
  635|      2|        return -1; // format is known, but definitely is not packed
  636|       |
  637|      4|    return true;
  638|      6|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.0k|    super(f),
   65|  27.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.0k|    my_boot_label(boot_label),
   67|  27.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.0k|{
   69|  27.0k|    ElfClass::compileTimeAssertions();
   70|  27.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  27.0k|{
   76|  27.0k|    delete [] phdri;
   77|  27.0k|    delete [] shdri;
   78|  27.0k|    delete [] shstrtab;
   79|  27.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    432|{
  121|    432|    unsigned const e_shnum = ehdri.e_shnum;
  122|    432|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 432]
  ------------------
  123|    432|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 26, False: 406]
  ------------------
  124|    406|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 406]
  ------------------
  125|     26|        infoWarning("bad ElfXX_Shdrs");
  126|     26|        return nullptr;
  127|     26|    }
  128|    406|    shdri = new Shdr[(unsigned) e_shnum];
  129|    406|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    406|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    406|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    406|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 1, False: 405]
  ------------------
  133|      1|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      1|        return nullptr;
  135|      1|    }
  136|    405|    Shdr const *p = &shdri[e_shstrndx];
  137|    405|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 398, False: 7]
  ------------------
  138|    398|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 318, False: 80]
  ------------------
  139|    318|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 233, False: 85]
  ------------------
  140|    233|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 225, False: 8]
  ------------------
  141|    225|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 221, False: 4]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    405|    ) {
  144|    221|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 2, False: 219]
  ------------------
  145|      2|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      2|            return nullptr;
  147|      2|        }
  148|    219|        shstrtab = new char[1+ p->sh_size];
  149|    219|        fi->seek(p->sh_offset, SEEK_SET);
  150|    219|        fi->readx(shstrtab, p->sh_size);
  151|    219|        shstrtab[p->sh_size] = '\0';
  152|    219|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 145, False: 74]
  ------------------
  153|    145|            return p;
  154|    145|        }
  155|    219|    }
  156|    258|    return nullptr;
  157|    405|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  575|  27.0k|{
  576|  27.0k|    fi->seek(0, SEEK_SET);
  577|  27.0k|    fi->readx(&ehdri, sizeof(ehdri));
  578|       |
  579|       |    // now check the ELF header
  580|  27.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (580:9): [True: 9.18k, False: 17.8k]
  ------------------
  581|  17.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (581:9): [True: 10.5k, False: 7.31k]
  ------------------
  582|  7.31k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (582:9): [True: 1.94k, False: 5.37k]
  ------------------
  583|  5.37k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (583:9): [True: 220, False: 5.15k]
  ------------------
  584|  5.15k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (584:9): [True: 4, False: 5.15k]
  ------------------
  585|  5.15k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (585:9): [True: 2.80k, False: 2.35k]
  ------------------
  586|  2.35k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (586:9): [True: 474, False: 1.87k]
  ------------------
  587|  1.87k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (587:9): [True: 185, False: 1.69k]
  ------------------
  588|  27.0k|    )
  589|  25.3k|        return false;
  590|       |
  591|  1.69k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (591:9): [True: 1.18k, False: 507]
  ------------------
  592|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  593|    507|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (593:9): [True: 8, False: 499]
  ------------------
  594|    499|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (594:9): [True: 1, False: 498]
  ------------------
  595|    498|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (595:9): [True: 66, False: 432]
  ------------------
  596|  1.69k|    )
  597|  1.26k|        return false;
  598|       |
  599|       |    // find the .shstrtab section
  600|    432|    Shdr const *const shstrsec = getElfSections();
  601|    432|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (601:9): [True: 287, False: 145]
  ------------------
  602|    287|        return false;
  603|    287|    }
  604|       |
  605|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  606|    145|    p_note0 = p_note1 = p_text = nullptr;
  607|    145|    int j;
  608|    145|    Shdr *p;
  609|  16.5k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (609:38): [True: 16.4k, False: 145]
  ------------------
  610|  16.4k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (610:13): [True: 13.3k, False: 3.06k]
  ------------------
  611|  3.06k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (611:12): [True: 325, False: 2.73k]
  ------------------
  612|  14.7k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (612:13): [True: 1.03k, False: 1.70k]
  ------------------
  613|  14.7k|            continue;
  614|  14.7k|        }
  615|  1.70k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (615:13): [True: 77, False: 1.62k]
  ------------------
  616|     77|            p_text = p;
  617|     77|        }
  618|  1.70k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (618:13): [True: 102, False: 1.59k]
  ------------------
  619|    102|            if (nullptr==p_note0) {
  ------------------
  |  Branch (619:17): [True: 18, False: 84]
  ------------------
  620|     18|                p_note0 = p;
  621|     18|            } else
  622|     84|            if (nullptr==p_note1) {
  ------------------
  |  Branch (622:17): [True: 15, False: 69]
  ------------------
  623|     15|                p_note1 = p;
  624|     15|            }
  625|    102|        }
  626|  1.70k|    }
  627|    145|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (627:9): [True: 132, False: 13]
  |  Branch (627:28): [True: 8, False: 5]
  |  Branch (627:48): [True: 1, False: 4]
  ------------------
  628|    141|        return false;
  629|    141|    }
  630|       |
  631|      4|    char buf[1024];
  632|      4|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  633|      4|    fi->readx(buf, sizeof(buf));
  634|      4|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (634:9): [True: 2, False: 2]
  ------------------
  635|      2|        return -1; // format is known, but definitely is not packed
  636|       |
  637|      2|    return true;
  638|      4|}

_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
   59|  27.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   59|  27.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   59|  27.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxI3869getFormatEv:
  100|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_i386; }
  ------------------
  |  |  588|  27.0k|#define UPX_F_VMLINUX_i386        19
  ------------------
_ZNK16PackVmlinuxARMEL9getFormatEv:
  125|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARM; }
  ------------------
  |  |  597|  27.0k|#define UPX_F_VMLINUX_ARM         28
  ------------------
_ZNK16PackVmlinuxARMEB9getFormatEv:
  149|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARMEB; }
  ------------------
  |  |  623|  27.0k|#define UPX_F_VMLINUX_ARMEB     135
  ------------------
_ZNK16PackVmlinuxPPC329getFormatEv:
  173|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC32; }
  ------------------
  |  |  624|  27.0k|#define UPX_F_VMLINUX_PPC32     136
  ------------------
_ZNK18PackVmlinuxPPC64LE9getFormatEv:
  197|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC64LE; }
  ------------------
  |  |  609|  27.0k|#define UPX_F_VMLINUX_PPC64LE     40
  ------------------
_ZNK16PackVmlinuxAMD649getFormatEv:
  222|  27.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_AMD64; }
  ------------------
  |  |  596|  27.0k|#define UPX_F_VMLINUX_AMD64       27
  ------------------
_ZN15PackVmlinuxI386C2EP9InputFile:
   98|  13.5k|    PackVmlinuxI386(InputFile *f) : super(f, Ehdr::EM_386,
   99|  13.5k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "startup_32") { }
_ZN16PackVmlinuxARMELC2EP9InputFile:
  123|  13.5k|    PackVmlinuxARMEL(InputFile *f) : super(f, Ehdr::EM_ARM,
  124|  13.5k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "decompress_kernel") { }
_ZN16PackVmlinuxARMEBC2EP9InputFile:
  147|  13.5k|    PackVmlinuxARMEB(InputFile *f) : super(f, Ehdr::EM_ARM,
  148|  13.5k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "decompress_kernel") { }
_ZN16PackVmlinuxPPC32C2EP9InputFile:
  171|  13.5k|    PackVmlinuxPPC32(InputFile *f) : super(f, Ehdr::EM_PPC,
  172|  13.5k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "_vmlinux_start") { }
_ZN18PackVmlinuxPPC64LEC2EP9InputFile:
  195|  13.5k|    PackVmlinuxPPC64LE(InputFile *f) : super(f, Ehdr::EM_PPC64,
  196|  13.5k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "_vmlinux_start") { }
_ZN16PackVmlinuxAMD64C2EP9InputFile:
  220|  13.5k|    PackVmlinuxAMD64(InputFile *f) : super(f, Ehdr::EM_X86_64,
  221|  13.5k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "startup_32") { }

_ZN15PackVmlinuzI386C2EP9InputFile:
   59|  27.0k|    super(f), physical_start(0x100000), page_offset(0), config_physical_align(0)
   60|  27.0k|    , filter_len(0)
   61|  27.0k|{
   62|  27.0k|    bele = &N_BELE_RTP::le_policy;
   63|  27.0k|    COMPILE_TIME_ASSERT(sizeof(boot_sect_t) == 0x250)
  ------------------
  |  |  266|  27.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   64|  27.0k|}
_ZN15PackVmlinuzI38614readFileHeaderEv:
  110|  27.0k|{
  111|  27.0k|    setup_size = 0;
  112|       |
  113|  27.0k|    fi->readx(&h, sizeof(h));
  114|  27.0k|    if (h.boot_flag != 0xAA55)
  ------------------
  |  Branch (114:9): [True: 11.6k, False: 15.3k]
  ------------------
  115|  11.6k|        return 0;
  116|  15.3k|    const bool hdrs = (memcmp(h.hdrs, "HdrS", 4) == 0);
  117|       |
  118|  15.3k|    setup_size = (1 + (h.setup_sects ? h.setup_sects : 4)) * 0x200;
  ------------------
  |  Branch (118:24): [True: 70, False: 15.2k]
  ------------------
  119|  15.3k|    if (setup_size <= 0 || setup_size >= file_size)
  ------------------
  |  Branch (119:9): [True: 15.2k, False: 75]
  |  Branch (119:28): [True: 12, False: 63]
  ------------------
  120|     12|        return 0;
  121|       |
  122|  15.3k|    int format = UPX_F_VMLINUZ_i386;
  ------------------
  |  |  584|  15.3k|#define UPX_F_VMLINUZ_i386        15
  ------------------
  123|  15.3k|    unsigned sys_size = ALIGN_UP((unsigned) file_size_u, 16u) - setup_size;
  ------------------
  |  |  530|  15.3k|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
  124|       |
  125|  15.3k|    const unsigned char *p = (const unsigned char *) &h + 0x1e3;
  126|       |
  127|  15.3k|    if (hdrs && memcmp(p, "\x0d\x0a\x07""ELKS", 7) == 0)
  ------------------
  |  Branch (127:9): [True: 30, False: 15.3k]
  |  Branch (127:17): [True: 2, False: 28]
  ------------------
  128|      2|    {
  129|      2|        format = UPX_F_ELKS_8086;
  ------------------
  |  |  586|      2|#define UPX_F_ELKS_8086           17 // NOT IMPLEMENTED
  ------------------
  130|      2|    }
  131|  15.3k|    else if (hdrs && (h.load_flags & 1) != 0)
  ------------------
  |  Branch (131:14): [True: 28, False: 15.3k]
  |  Branch (131:22): [True: 16, False: 12]
  ------------------
  132|     16|    {
  133|     16|        format = UPX_F_BVMLINUZ_i386;
  ------------------
  |  |  585|     16|#define UPX_F_BVMLINUZ_i386       16
  ------------------
  134|     16|    }
  135|       |
  136|  15.3k|    if (0x204<=h.version) {
  ------------------
  |  Branch (136:9): [True: 28, False: 15.3k]
  ------------------
  137|     28|        if ((16u * h.sys_size) != sys_size)
  ------------------
  |  Branch (137:13): [True: 14, False: 14]
  ------------------
  138|     14|            return 0;
  139|     28|    }
  140|  15.3k|    else { // h.sys_size is only 2 bytes
  141|  15.3k|        if ((16u * (0xffff & h.sys_size)) != (~(~0u<<20) & sys_size))
  ------------------
  |  Branch (141:13): [True: 32, False: 15.2k]
  ------------------
  142|     32|            return 0;
  143|  15.3k|    }
  144|       |
  145|       |    // FIXME: add more checks for a valid kernel
  146|       |
  147|  15.2k|    return format;
  148|  15.3k|}
_ZN15PackVmlinuzI3869canUnpackEv:
  697|  27.0k|{
  698|  27.0k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (698:9): [True: 11.7k, False: 15.2k]
  ------------------
  699|  11.7k|        return false;
  700|  15.2k|    fi->seek(setup_size, SEEK_SET);
  701|  15.2k|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (701:12): [True: 0, False: 15.2k]
  ------------------
  702|  27.0k|}
_ZN16PackVmlinuzARMELC2EP9InputFile:
  737|  13.5k|    super(f), setup_size(0), filter_len(0)
  738|  13.5k|{
  739|  13.5k|    bele = &N_BELE_RTP::le_policy;
  740|  13.5k|}
_ZN16PackVmlinuzARMEL14readFileHeaderEv:
  766|  13.5k|{
  767|  13.5k|    unsigned int hdr[8];
  768|       |
  769|  13.5k|    fi->readx(hdr, sizeof(hdr));
  770|  13.7k|    for (int j=0; j < 8; ++j) {
  ------------------
  |  Branch (770:19): [True: 13.7k, False: 2]
  ------------------
  771|  13.7k|        if (0xe1a00000!=get_te32(&hdr[j])) {
  ------------------
  |  Branch (771:13): [True: 13.4k, False: 212]
  ------------------
  772|  13.4k|            return 0;
  773|  13.4k|        }
  774|  13.7k|    }
  775|      2|    return UPX_F_VMLINUZ_ARM;
  ------------------
  |  |  600|      2|#define UPX_F_VMLINUZ_ARM         31
  ------------------
  776|  13.5k|}
_ZN16PackVmlinuzARMEL9canUnpackEv:
 1055|  13.5k|{
 1056|  13.5k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (1056:9): [True: 13.4k, False: 2]
  ------------------
 1057|  13.4k|        return false;
 1058|      2|    fi->seek(setup_size, SEEK_SET);
 1059|      2|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (1059:12): [True: 0, False: 2]
  ------------------
 1060|  13.5k|}

_ZNK15PackVmlinuzI38610getVersionEv:
   39|  27.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuzI3869getFormatEv:
   40|  32.8k|    virtual int getFormat() const override { return UPX_F_VMLINUZ_i386; }
  ------------------
  |  |  584|  32.8k|#define UPX_F_VMLINUZ_i386        15
  ------------------
_ZNK16PackBvmlinuzI3869getFormatEv:
  109|  32.8k|    virtual int getFormat() const override { return UPX_F_BVMLINUZ_i386; }
  ------------------
  |  |  585|  32.8k|#define UPX_F_BVMLINUZ_i386       16
  ------------------
_ZNK16PackVmlinuzARMEL10getVersionEv:
  130|  13.5k|    virtual int getVersion() const override { return 13; }
_ZNK16PackVmlinuzARMEL9getFormatEv:
  131|  40.5k|    virtual int getFormat() const  override{ return UPX_F_VMLINUZ_ARM; }
  ------------------
  |  |  600|  40.5k|#define UPX_F_VMLINUZ_ARM         31
  ------------------
_ZN16PackBvmlinuzI386C2EP9InputFile:
  108|  13.5k|    PackBvmlinuzI386(InputFile *f) : super(f) { }

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

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

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

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

_ZN14PackW64PeArm64C2EP9InputFile:
   48|  14.0k|PackW64PeArm64::PackW64PeArm64(InputFile *f) : super(f) { use_stub_relocs = false; }
_ZN14PackW64PeArm647canPackEv:
   70|  14.0k|tribool PackW64PeArm64::canPack() {
   71|  14.0k|    if (!readFileHeader())
  ------------------
  |  Branch (71:9): [True: 13.5k, False: 510]
  ------------------
   72|  13.5k|        return false;
   73|    510|    checkMachine(ih.cpu);
   74|    510|    if (ih.cpu != IMAGE_FILE_MACHINE_ARM64)
  ------------------
  |  Branch (74:9): [True: 316, False: 194]
  ------------------
   75|    316|        return false;
   76|    194|    return true;
   77|    510|}

_ZNK14PackW64PeArm649getFormatEv:
   40|  28.5k|    virtual int getFormat() const override { return UPX_F_W64PE_ARM64; }
  ------------------
  |  |  612|  28.5k|#define UPX_F_W64PE_ARM64         43
  ------------------

_ZN8PackWcle10handleStubEP10OutputFile:
  112|    219|void PackWcle::handleStub(OutputFile *fo) {
  113|    219|    if (fo && !opt->watcom_le.le)
  ------------------
  |  Branch (113:9): [True: 219, False: 0]
  |  Branch (113:15): [True: 219, False: 0]
  ------------------
  114|    219|        Packer::handleStub(fi, fo, le_offset);
  115|    219|}
_ZN8PackWcle15readObjectTableEv:
  160|    219|void PackWcle::readObjectTable() {
  161|    219|    LeFile::readObjectTable();
  162|       |
  163|       |    // temporary copy of the object descriptors
  164|    219|    if (!objects) // late detection, but protect against .alloc(0)
  ------------------
  |  |   65|    219|#define objects         ih.object_table_entries
  ------------------
  |  Branch (164:9): [True: 1, False: 218]
  ------------------
  165|      1|        throwCantPack("no objects");
  166|    218|    iobject_desc.alloc(objects * sizeof(*iobject_table));
  ------------------
  |  |   65|    218|#define objects         ih.object_table_entries
  ------------------
  167|    218|    memcpy(iobject_desc, iobject_table, objects * sizeof(*iobject_table));
  ------------------
  |  |   65|    218|#define objects         ih.object_table_entries
  ------------------
  168|       |
  169|    218|    unsigned ic, jc, virtual_size;
  170|       |
  171|  1.08k|    for (ic = jc = virtual_size = 0; ic < objects; ic++) {
  ------------------
  |  |   65|  1.08k|#define objects         ih.object_table_entries
  ------------------
  |  Branch (171:38): [True: 869, False: 218]
  ------------------
  172|    869|        jc += IOT(ic, npages);
  ------------------
  |  |   47|    869|#define IOT(x, y) iobject_table[x].y
  ------------------
  173|    869|        IOT(ic, my_base_address) = virtual_size;
  ------------------
  |  |   47|  1.73k|#define IOT(x, y) iobject_table[x].y
  ------------------
  174|    869|        virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   47|    869|#define IOT(x, y) iobject_table[x].y
  ------------------
                      virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   67|    869|#define mps             ih.memory_page_size
  ------------------
                      virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   67|    869|#define mps             ih.memory_page_size
  ------------------
  175|    869|    }
  176|    218|    if (pages != jc)
  ------------------
  |  |   66|    218|#define pages           ih.memory_pages
  ------------------
  |  Branch (176:9): [True: 14, False: 204]
  ------------------
  177|     14|        throwCantPack("bad page number");
  178|    218|}
_ZN8PackWcle11decodeImageEv:
  712|     10|void PackWcle::decodeImage() {
  713|     10|    mb_oimage.allocForDecompression(ph.u_len);
  714|     10|    oimage = SPAN_S_MAKE(byte, mb_oimage); // => now a SPAN_S
  ------------------
  |  |  210|     10|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|     10|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     10|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  715|       |
  716|     10|    decompress(iimage + ph.buf_offset + ph.getPackHeaderSize(), oimage);
  717|     10|    soimage = get_le32(oimage + ph.u_len - 5);
  718|     10|    opages = soimage / mps;
  ------------------
  |  |   68|     20|#define opages          oh.memory_pages
  ------------------
                  opages = soimage / mps;
  ------------------
  |  |   67|     10|#define mps             ih.memory_page_size
  ------------------
  719|     10|    oh.memory_page_size = mps;
  ------------------
  |  |   67|     10|#define mps             ih.memory_page_size
  ------------------
  720|     10|}
_ZN8PackWcle9canUnpackEv:
  754|  14.5k|tribool PackWcle::canUnpack() {
  755|  14.5k|    if (!LeFile::readFileHeader())
  ------------------
  |  Branch (755:9): [True: 13.9k, False: 604]
  ------------------
  756|  13.9k|        return false;
  757|    604|    fi->seek(exe_offset + ih.data_pages_offset, SEEK_SET);
  758|       |    // FIXME: 1024 could be too large for some files
  759|       |    // int len = 1024;
  760|    604|    int len = UPX_MIN(getImageSize(), 256u);
  ------------------
  |  |  533|    604|#define UPX_MIN(a, b)      (upx::min((a), (b)))
  ------------------
  761|    604|    if (len == 0)
  ------------------
  |  Branch (761:9): [True: 1, False: 603]
  ------------------
  762|      1|        return false;
  763|    603|    return readPackHeader(len) ? 1 : -1;
  ------------------
  |  Branch (763:12): [True: 219, False: 384]
  ------------------
  764|    604|}
_ZN8PackWcle6unpackEP10OutputFile:
  780|    219|void PackWcle::unpack(OutputFile *fo) {
  781|    219|    handleStub(fo);
  782|       |
  783|    219|    readObjectTable();
  784|    219|    iobject_desc.dealloc();
  785|    219|    readPageMap();
  786|    219|    readResidentNames();
  787|    219|    readEntryTable();
  788|    219|    readFixupPageTable();
  789|    219|    readFixups();
  790|    219|    readImage();
  791|    219|    readNonResidentNames();
  792|       |
  793|    219|    decodeImage();
  794|    219|    decodeObjectTable();
  795|       |
  796|       |    // unfilter
  797|    219|    if (ph.filter) {
  ------------------
  |  Branch (797:9): [True: 0, False: 219]
  ------------------
  798|      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
  ------------------
  799|      0|        const unsigned text_vaddr = OOT(oh.init_cs_object - 1, my_base_address);
  ------------------
  |  |   48|      0|#define OOT(x, y) oobject_table[x].y
  ------------------
  800|       |
  801|      0|        Filter ft(ph.level);
  802|      0|        ft.init(ph.filter, text_vaddr);
  803|      0|        ft.cto = (byte) ph.filter_cto;
  804|      0|        if (ph.version < 11)
  ------------------
  |  Branch (804:13): [True: 0, False: 0]
  ------------------
  805|      0|            ft.cto = (byte) (get_le32(oimage + ph.u_len - 9) >> 24);
  806|      0|        ft.unfilter(oimage + text_vaddr, text_size);
  807|      0|    }
  808|       |
  809|    219|    decodeFixupPageTable();
  810|    219|    decodeFixups();
  811|    219|    decodeEntryTable();
  812|    219|    decodePageMap();
  813|    219|    decodeResidentNames();
  814|    219|    decodeNonResidentNames();
  815|       |
  816|    219|    for (unsigned ic = 0; ic < soobject_table; ic++)
  ------------------
  |  Branch (816:27): [True: 0, False: 219]
  ------------------
  817|      0|        OOT(ic, my_base_address) = 0;
  ------------------
  |  |   48|      0|#define OOT(x, y) oobject_table[x].y
  ------------------
  818|       |
  819|    219|    while (oimage[soimage - 1] == 0)
  ------------------
  |  Branch (819:12): [True: 0, False: 219]
  ------------------
  820|      0|        soimage--;
  821|    219|    oh.bytes_on_last_page = soimage % mps;
  ------------------
  |  |   67|    219|#define mps             ih.memory_page_size
  ------------------
  822|       |
  823|       |    // write decompressed file
  824|    219|    if (fo)
  ------------------
  |  Branch (824:9): [True: 0, False: 219]
  ------------------
  825|      0|        writeFile(fo, opt->watcom_le.le);
  826|       |
  827|       |    // copy the overlay
  828|    219|    const unsigned overlaystart = ih.data_pages_offset + exe_offset + getImageSize();
  829|    219|    const unsigned overlay = file_size - overlaystart - ih.non_resident_name_table_length;
  830|    219|    checkOverlay(overlay);
  831|    219|    copyOverlay(fo, overlay, mb_oimage);
  832|    219|}

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

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

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

_ZN10PackerBaseC2EP9InputFile:
   40|   436k|    : fi(f), file_size(f != nullptr ? f->st_size() : 0), file_size_i32(file_size) {
  ------------------
  |  Branch (40:24): [True: 436k, False: 0]
  ------------------
   41|   436k|    ph.reset();
   42|   436k|    mem_size_assert(1, file_size_u); // limited by UPX_RSIZE_MAX / UPX_RSIZE_MAX_NOCOMP
   43|   436k|    assert_noexcept(file_size_i32 == file_size);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   44|   436k|    assert_noexcept(file_size_u32 == file_size_u);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   45|   436k|}
_ZN6PackerC2EP9InputFile:
   47|   436k|Packer::Packer(InputFile *f) : PackerBase(f) { uip = new UiPacker(this); }
_ZN6PackerD2Ev:
   49|   436k|Packer::~Packer() noexcept {
   50|   436k|    upx::owner_delete(uip);
   51|   436k|    upx::owner_delete(linker);
   52|   436k|    assert_noexcept(uip == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   53|   436k|    assert_noexcept(linker == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   54|   436k|}
_ZNK6Packer12assertPackerEv:
   57|   433k|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|       |        const N_BELE_RTP::AbstractPolicy *format_bele;
   72|       |        if (getFormat() < 128)
   73|       |            format_bele = &N_BELE_RTP::le_policy;
   74|       |        else
   75|       |            format_bele = &N_BELE_RTP::be_policy;
   76|       |        if (bele != format_bele)
   77|       |            fprintf(stderr, "%s\n", getName());
   78|       |        assert(bele == format_bele);
   79|       |    }
   80|       |    Linker *l = newLinker();
   81|       |    assert(l != nullptr);
   82|       |    if (bele != l->bele)
   83|       |        fprintf(stderr, "%s\n", getName());
   84|       |    assert(bele == l->bele);
   85|       |    delete l;
   86|       |#endif
   87|   433k|    assert_noexcept(isValidFormat(getFormat()));
  ------------------
  |  |  515|   433k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   867k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 433k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   88|   433k|}
_ZN6Packer8doUnpackEP10OutputFile:
  100|  6.62k|void Packer::doUnpack(OutputFile *fo) {
  101|  6.62k|    uip->uiUnpackStart(fo);
  102|  6.62k|    unpack(fo);
  103|  6.62k|    uip->uiUnpackEnd(fo);
  104|  6.62k|}
_ZNK6Packer17testUnpackVersionEi:
  137|  15.3k|bool Packer::testUnpackVersion(int version) const {
  138|  15.3k|    if (version != ph_version && ph_version != -1)
  ------------------
  |  Branch (138:9): [True: 15.3k, False: 0]
  |  Branch (138:34): [True: 0, False: 15.3k]
  ------------------
  139|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  140|  15.3k|    if (!canUnpackVersion(version))
  ------------------
  |  Branch (140:9): [True: 10, False: 15.3k]
  ------------------
  141|     10|        throwCantUnpack("I am not compatible with older versions of UPX");
  142|  15.3k|    return true;
  143|  15.3k|}
_ZNK6Packer16testUnpackFormatEi:
  145|  15.3k|bool Packer::testUnpackFormat(int format) const {
  146|  15.3k|    if (format != ph_format && ph_format != -1)
  ------------------
  |  Branch (146:9): [True: 15.3k, False: 0]
  |  Branch (146:32): [True: 0, False: 15.3k]
  ------------------
  147|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  148|  15.3k|    return canUnpackFormat(format);
  149|  15.3k|}
_ZN6Packer10decompressEN5XSpan9PtrOrSpanIKhEENS1_IhEEbP6Filter:
  306|  38.7k|void Packer::decompress(SPAN_P(const byte) in, SPAN_P(byte) out, bool verify_checksum, Filter *ft) {
  307|  38.7k|    ph_decompress(ph, in, out, verify_checksum, ft);
  308|  38.7k|}
_ZN6Packer10handleStubEP9InputFileP10OutputFilej:
  416|    363|/*static*/ void Packer::handleStub(InputFile *fif, OutputFile *fo, unsigned size) {
  417|    363|    if (fo) {
  ------------------
  |  Branch (417:9): [True: 363, False: 0]
  ------------------
  418|    363|        if (size > 0) {
  ------------------
  |  Branch (418:13): [True: 137, False: 226]
  ------------------
  419|       |            // copy stub from exe
  420|    137|            info("Copying original stub: %u bytes", size);
  421|    137|            ByteArray(stub, size);
  ------------------
  |  |  495|    137|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  492|    137|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  493|    137|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|    137|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|    137|            fif->seek(0, SEEK_SET);
  423|    137|            fif->readx(stub, size);
  424|    137|            fo->write(stub, size);
  425|    226|        } else {
  426|       |            // no stub
  427|    226|        }
  428|    363|    }
  429|    363|}
_ZN6Packer12checkOverlayEj:
  431|    186|void Packer::checkOverlay(unsigned overlay) {
  432|    186|    if ((int) overlay < 0 || overlay > file_size_u)
  ------------------
  |  Branch (432:9): [True: 32, False: 154]
  |  Branch (432:30): [True: 14, False: 140]
  ------------------
  433|     46|        throw OverlayException("invalid overlay size; file is possibly corrupt");
  434|    140|    if (overlay == 0)
  ------------------
  |  Branch (434:9): [True: 55, False: 85]
  ------------------
  435|     55|        return;
  436|     85|    info("Found overlay: %d bytes", overlay);
  437|     85|    if (opt->overlay == opt->SKIP_OVERLAY)
  ------------------
  |  Branch (437:9): [True: 0, False: 85]
  ------------------
  438|      0|        throw OverlayException("file has overlay -- skipped; try '--overlay=copy'");
  439|     85|}
_ZN6Packer11copyOverlayEP10OutputFilejR9MemBufferb:
  441|     39|void Packer::copyOverlay(OutputFile *fo, unsigned overlay, MemBuffer &buf, bool do_seek) {
  442|     39|    assert((int) overlay >= 0);
  ------------------
  |  |  512|     39|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     78|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 39, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|     39|    assert(overlay < file_size_u);
  ------------------
  |  |  512|     39|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     78|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 38, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  444|      0|    buf.checkState();
  445|     39|    if (!fo || overlay == 0)
  ------------------
  |  Branch (445:9): [True: 1, False: 38]
  |  Branch (445:16): [True: 13, False: 25]
  ------------------
  446|     13|        return;
  447|     26|    if (opt->overlay != opt->COPY_OVERLAY) {
  ------------------
  |  Branch (447:9): [True: 0, False: 26]
  ------------------
  448|      0|        assert(opt->overlay == opt->STRIP_OVERLAY);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|      0|        infoWarning("stripping overlay: %d bytes", overlay);
  450|      0|        return;
  451|      0|    }
  452|     26|    info("Copying overlay: %d bytes", overlay);
  453|     26|    if (do_seek)
  ------------------
  |  Branch (453:9): [True: 25, False: 1]
  ------------------
  454|     25|        fi->seek(-(upx_off_t) overlay, SEEK_END);
  455|       |
  456|       |    // get buffer size, align to improve i/o speed
  457|     26|    unsigned buf_size = buf.getSize();
  458|     26|    if (buf_size > 65536)
  ------------------
  |  Branch (458:9): [True: 25, False: 1]
  ------------------
  459|     25|        buf_size = ALIGN_DOWN(buf_size, 4096u);
  ------------------
  |  |  529|     25|#define ALIGN_DOWN(a, b)   (upx::align_down((a), (b)))
  ------------------
  460|     26|    assert((int) buf_size > 0);
  ------------------
  |  |  512|     26|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     52|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 26, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|       |
  462|     26|    do {
  463|     26|        unsigned len = overlay < buf_size ? overlay : buf_size;
  ------------------
  |  Branch (463:24): [True: 25, False: 1]
  ------------------
  464|     26|        fi->readx(buf, len);
  465|     26|        fo->write(buf, len);
  466|     26|        overlay -= len;
  467|     26|    } while (overlay > 0);
  ------------------
  |  Branch (467:14): [True: 0, False: 26]
  ------------------
  468|     26|    buf.checkState();
  469|     26|}
_ZN6Packer14initPackHeaderEv:
  489|   433k|void Packer::initPackHeader() {
  490|   433k|    ph.reset();
  491|   433k|    ph.version = getVersion();
  492|   433k|    ph.format = getFormat();
  493|   433k|    ph.method = M_NONE;
  ------------------
  |  |  652|   433k|#define M_NONE        (-3)
  ------------------
  494|   433k|    ph.level = -1;
  495|   433k|    ph.u_adler = ph.c_adler = ph.saved_u_adler = ph.saved_c_adler = upx_adler32(nullptr, 0);
  496|   433k|    ph.buf_offset = 0;
  497|   433k|    ph.u_file_size = file_size;
  498|   433k|}
_ZN6Packer13getPackHeaderEPKvib:
  531|  34.6k|bool Packer::getPackHeader(const void *b, int blen, bool allow_incompressible) {
  532|  34.6k|    auto bb = (const byte *) b;
  533|  34.6k|    if (!ph.decodePackHeaderFromBuf(SPAN_S_MAKE(const byte, bb, blen), blen))
  ------------------
  |  |  210|  34.6k|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|  34.6k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|  34.6k|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|  34.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  34.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  34.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  34.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  34.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (533:9): [True: 18.8k, False: 15.8k]
  ------------------
  534|  18.8k|        return false;
  535|       |
  536|  15.8k|    if (ph.version > getVersion())
  ------------------
  |  Branch (536:9): [True: 6, False: 15.8k]
  ------------------
  537|      6|        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|  15.8k|    if (opt->cmd != CMD_FILEINFO)
  ------------------
  |  Branch (540:9): [True: 15.4k, False: 359]
  ------------------
  541|  15.4k|        if (!testUnpackVersion(ph.version))
  ------------------
  |  Branch (541:13): [True: 0, False: 15.4k]
  ------------------
  542|      0|            return false;
  543|       |
  544|  15.8k|    if (ph.c_len > ph.u_len || (ph.c_len == ph.u_len && !allow_incompressible) ||
  ------------------
  |  Branch (544:9): [True: 407, False: 15.4k]
  |  Branch (544:33): [True: 13, False: 15.4k]
  |  Branch (544:57): [True: 3, False: 10]
  ------------------
  545|  15.4k|        ph.c_len >= file_size_u || ph.version <= 0 || ph.version >= 0xff)
  ------------------
  |  Branch (545:9): [True: 24, False: 15.3k]
  |  Branch (545:36): [True: 0, False: 15.3k]
  |  Branch (545:55): [True: 0, False: 15.3k]
  ------------------
  546|     62|        throwCantUnpack("header corrupted");
  547|  15.7k|    else if (ph.u_len > ph.u_file_size) {
  ------------------
  |  Branch (547:14): [True: 2.53k, False: 13.2k]
  ------------------
  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|  2.53k|    }
  557|  15.7k|    if (!isValidCompressionMethod(ph.method))
  ------------------
  |  Branch (557:9): [True: 5, False: 15.7k]
  ------------------
  558|      5|        throwCantUnpack("unknown compression method (try a newer version of UPX)");
  559|       |
  560|       |    // Some formats might be able to unpack "subformats". Ask them.
  561|  15.7k|    if (!testUnpackFormat(ph.format))
  ------------------
  |  Branch (561:9): [True: 8.86k, False: 6.89k]
  ------------------
  562|  8.86k|        return false;
  563|       |
  564|  6.89k|    return true;
  565|  15.7k|}
_ZN6Packer14readPackHeaderEib:
  567|  5.66k|bool Packer::readPackHeader(int len, bool allow_incompressible) {
  568|  5.66k|    assert(len > 0);
  ------------------
  |  |  512|  5.66k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  11.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 5.66k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|      0|    MemBuffer buf(len);
  570|  5.66k|    len = fi->read(buf, len);
  571|  5.66k|    if (len <= 0)
  ------------------
  |  Branch (571:9): [True: 9, False: 5.65k]
  ------------------
  572|      9|        return false;
  573|  5.65k|    return getPackHeader(buf, len, allow_incompressible);
  574|  5.66k|}

_ZN10PackerBaseD2Ev:
   49|   436k|    virtual ~PackerBase() noexcept {}
_ZNK6Packer16canUnpackVersionEi:
  124|  5.36k|    virtual bool canUnpackVersion(int version) const { return (version >= 8); }
_ZNK6Packer15canUnpackFormatEi:
  125|  15.3k|    virtual bool canUnpackFormat(int format) const { return (format == getFormat()); }
_ZNK6Packer8get_te16EPKv:
  263|   628k|    inline unsigned get_te16(const void *p) const noexcept { return bele->get16(p); }
_ZNK6Packer8get_te32EPKv:
  264|   621k|    inline unsigned get_te32(const void *p) const noexcept { return bele->get32(p); }
_ZNK6Packer8get_te64EPKv:
  271|   165k|    inline upx_uint64_t get_te64(const void *p) const noexcept { return bele->get64(p); }

_ZN6Packer13isValidFormatEi:
   36|   449k|/*static*/ bool Packer::isValidFormat(int format) noexcept {
   37|   449k|    if (!((format >= 1 && format <= UPX_F_CPM86_CMD) ||
  ------------------
  |  |  615|   449k|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  |  Branch (37:12): [True: 449k, False: 17]
  |  Branch (37:27): [True: 375k, False: 73.5k]
  ------------------
   38|  73.5k|          (format >= 129 && format <= UPX_F_DYLIB_PPC64))) {
  ------------------
  |  |  630|  73.4k|#define UPX_F_DYLIB_PPC64       142
  ------------------
  |  Branch (38:12): [True: 73.4k, False: 33]
  |  Branch (38:29): [True: 73.4k, False: 15]
  ------------------
   39|     48|        return false;
   40|     48|    }
   41|   449k|    switch (format) {
  ------------------
  |  Branch (41:13): [True: 20, False: 449k]
  ------------------
   42|      1|    case 6:   // UPX_F_VXD_LE               6 // NOT IMPLEMENTED
  ------------------
  |  Branch (42:5): [True: 1, False: 449k]
  ------------------
   43|      3|    case 11:  // UPX_F_WIN16_NE            11 // NOT IMPLEMENTED
  ------------------
  |  Branch (43:5): [True: 2, False: 449k]
  ------------------
   44|     11|    case 13:  // UPX_F_LINUX_SEP_i386      13 // NOT IMPLEMENTED
  ------------------
  |  Branch (44:5): [True: 8, False: 449k]
  ------------------
   45|     16|    case 17:  // UPX_F_ELKS_8086           17 // NOT IMPLEMENTED
  ------------------
  |  Branch (45:5): [True: 5, False: 449k]
  ------------------
   46|     18|    case 38:  // UPX_F_MACH_PPC64LE        38 // DOES NOT EXIST
  ------------------
  |  Branch (46:5): [True: 2, False: 449k]
  ------------------
   47|     19|    case 41:  // UPX_F_DYLIB_PPC64LE       41 // DOES NOT EXIST
  ------------------
  |  Branch (47:5): [True: 1, False: 449k]
  ------------------
   48|     20|    case 130: // UPX_F_SOLARIS_SPARC      130 // NOT IMPLEMENTED
  ------------------
  |  Branch (48:5): [True: 1, False: 449k]
  ------------------
   49|     20|        return false;
   50|   449k|    }
   51|   449k|    return true;
   52|   449k|}
_ZN6Packer24isValidCompressionMethodEi:
   54|   103k|/*static*/ bool Packer::isValidCompressionMethod(int m) noexcept {
   55|   103k|    return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  660|   206k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  645|   103k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (660:25): [True: 98.6k, False: 4.77k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  656|   108k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  633|  9.55k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  635|  4.77k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (656:26): [True: 4.77k, False: 1]
  |  |  |  Branch (656:49): [True: 2.86k, False: 1.91k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  657|   105k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  636|  3.82k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  638|  1.91k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (657:26): [True: 1.91k, False: 1]
  |  |  |  Branch (657:49): [True: 1.15k, False: 753]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  658|    754|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  639|  1.50k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  641|    753|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (658:26): [True: 753, False: 1]
  |  |  |  Branch (658:49): [True: 749, False: 4]
  |  |  ------------------
  ------------------
   56|   103k|}

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

_ZN10PackHeaderC2Ev:
   40|   436k|PackHeader::PackHeader() noexcept { reset(); }
_ZN10PackHeader5resetEv:
   42|  1.30M|void PackHeader::reset() noexcept {
   43|  1.30M|    mem_clear(this);
   44|  1.30M|    version = -1;
   45|  1.30M|    format = -1;
   46|  1.30M|    compress_result.reset();
   47|  1.30M|}
_ZN10PackHeader10set_methodEij:
   49|  35.8k|int PackHeader::set_method(const int m, const unsigned offset) { // check, then assign
   50|  35.8k|    const unsigned mc = ~(0x80u << 24) & m;                      // see ph_forced_method
   51|  35.8k|    const unsigned lo = 0xFF & m;
   52|       |    // See packer_c.cpp for "hi bytes" in M_LZMA_003 and M_LZMA_407.
   53|       |    // "hi bytes" are not allowed unless M_LZMA.
   54|  35.8k|    if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  633|  71.7k|#define M_NRV2B_LE32  2
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  645|  35.7k|#define M_LZMA        14
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  645|  35.7k|#define M_LZMA        14
  ------------------
  |  Branch (54:10): [True: 61, False: 35.7k]
  |  Branch (54:31): [True: 63, False: 35.7k]
  |  Branch (54:47): [True: 911, False: 34.8k]
  |  Branch (54:63): [True: 0, False: 911]
  |  Branch (54:77): [True: 15, False: 109]
  ------------------
   55|     15|        throwCantPack("bad method %#x at %#x", (unsigned) m, offset);
   56|  35.8k|    method = m;
   57|  35.8k|    return method;
   58|  35.8k|}
_ZNK10PackHeader17getPackHeaderSizeEv:
   82|  22.1k|int PackHeader::getPackHeaderSize() const {
   83|  22.1k|    if (format < 0 || version < 0)
  ------------------
  |  Branch (83:9): [True: 2, False: 22.1k]
  |  Branch (83:23): [True: 0, False: 22.1k]
  ------------------
   84|      2|        throwInternalError("getPackHeaderSize");
   85|       |
   86|  22.1k|    int n = 0;
   87|  22.1k|    if (version <= 3) // Note: covers (version <= 0)
  ------------------
  |  Branch (87:9): [True: 0, False: 22.1k]
  ------------------
   88|      0|        n = 24;
   89|  22.1k|    else if (version <= 9) {
  ------------------
  |  Branch (89:14): [True: 130, False: 21.9k]
  ------------------
   90|    130|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  570|    260|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  571|    110|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (90:13): [True: 20, False: 110]
  |  Branch (90:40): [True: 8, False: 102]
  ------------------
   91|     28|            n = 20;
   92|    102|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  572|    204|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  576|    102|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (92:18): [True: 0, False: 102]
  |  Branch (92:45): [True: 0, False: 102]
  ------------------
   93|      0|            n = 25;
   94|    102|        else
   95|    102|            n = 28;
   96|  21.9k|    } else {
   97|  21.9k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  570|  43.9k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  571|  21.9k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (97:13): [True: 20, False: 21.9k]
  |  Branch (97:40): [True: 39, False: 21.9k]
  ------------------
   98|     59|            n = 22;
   99|  21.9k|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  572|  43.8k|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  576|  21.9k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (99:18): [True: 39, False: 21.9k]
  |  Branch (99:45): [True: 135, False: 21.7k]
  ------------------
  100|    174|            n = 27;
  101|  21.7k|        else
  102|  21.7k|            n = 32;
  103|  21.9k|    }
  104|  22.1k|    if (n < 20)
  ------------------
  |  Branch (104:9): [True: 0, False: 22.1k]
  ------------------
  105|      0|        throwCantUnpack("unknown header version");
  106|  22.1k|    return n;
  107|  22.1k|}
_ZN10PackHeader23decodePackHeaderFromBufEN5XSpan4SpanIKhEEi:
  191|  34.6k|bool PackHeader::decodePackHeaderFromBuf(SPAN_S(const byte) buf, int blen) {
  192|  34.6k|    int boff = find_le32(raw_bytes(buf, blen), blen, UPX_MAGIC_LE32);
  ------------------
  |  |  553|  34.6k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  193|  34.6k|    if (boff < 0)
  ------------------
  |  Branch (193:9): [True: 18.8k, False: 15.8k]
  ------------------
  194|  18.8k|        return false;
  195|  15.8k|    blen -= boff; // bytes remaining in buf
  196|  15.8k|    if (blen < 20)
  ------------------
  |  Branch (196:9): [True: 71, False: 15.7k]
  ------------------
  197|     71|        throwCantUnpack("header corrupted 1");
  198|       |
  199|  15.8k|    SPAN_S_VAR(const byte, const p, buf + boff);
  ------------------
  |  |  214|  15.8k|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|  15.7k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|  15.7k|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|  15.7k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  15.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  15.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  15.7k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  15.7k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|       |
  201|  15.7k|    version = p[4];
  202|  15.7k|    format = p[5];
  203|  15.7k|    method = p[6];
  204|  15.7k|    level = p[7];
  205|  15.7k|    filter_cto = 0;
  206|       |
  207|  15.7k|    if (opt->debug.debug_level) {
  ------------------
  |  Branch (207:9): [True: 0, False: 15.7k]
  ------------------
  208|      0|        fprintf(stderr, "  decodePackHeaderFromBuf  version=%d  format=%d  method=%d  level=%d\n",
  209|      0|                version, format, method, level);
  210|      0|    }
  211|  15.7k|    if (!Packer::isValidFormat(format))
  ------------------
  |  Branch (211:9): [True: 68, False: 15.6k]
  ------------------
  212|     68|        throwCantUnpack("unknown format %d", format);
  213|       |
  214|       |    //
  215|       |    // decode the new variable length header
  216|       |    //
  217|       |
  218|  15.6k|    int off_filter = 0;
  219|  15.6k|    if (format < 128) {
  ------------------
  |  Branch (219:9): [True: 13.6k, False: 2.09k]
  ------------------
  220|  13.6k|        u_adler = get_le32(p + 8);
  221|  13.6k|        c_adler = get_le32(p + 12);
  222|  13.6k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  570|  27.2k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  571|  13.5k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (222:13): [True: 67, False: 13.5k]
  |  Branch (222:40): [True: 42, False: 13.4k]
  ------------------
  223|    109|            u_len = get_le16(p + 16);
  224|    109|            c_len = get_le16(p + 18);
  225|    109|            u_file_size = u_len;
  226|    109|            off_filter = 20;
  227|  13.4k|        } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  572|  26.9k|#define UPX_F_DOS_EXE             3
  ------------------
                      } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  576|  13.4k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (227:20): [True: 32, False: 13.4k]
  |  Branch (227:47): [True: 84, False: 13.3k]
  ------------------
  228|    116|            if (blen < 25)
  ------------------
  |  Branch (228:17): [True: 1, False: 115]
  ------------------
  229|      1|                throwCantUnpack("header corrupted 6");
  230|    115|            u_len = get_le24(p + 16);
  231|    115|            c_len = get_le24(p + 19);
  232|    115|            u_file_size = get_le24(p + 22);
  233|    115|            off_filter = 25;
  234|  13.3k|        } else {
  235|  13.3k|            if (blen < 31)
  ------------------
  |  Branch (235:17): [True: 19, False: 13.3k]
  ------------------
  236|     19|                throwCantUnpack("header corrupted 7");
  237|  13.3k|            u_len = get_le32(p + 16);
  238|  13.3k|            c_len = get_le32(p + 20);
  239|  13.3k|            u_file_size = get_le32(p + 24);
  240|  13.3k|            off_filter = 28;
  241|  13.3k|            filter_cto = p[29];
  242|  13.3k|            n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (242:21): [True: 1.57k, False: 11.7k]
  ------------------
  243|  13.3k|        }
  244|  13.6k|    } else {
  245|  2.09k|        if (blen < 31)
  ------------------
  |  Branch (245:13): [True: 7, False: 2.08k]
  ------------------
  246|      7|            throwCantUnpack("header corrupted 8");
  247|  2.08k|        u_len = get_be32(p + 8);
  248|  2.08k|        c_len = get_be32(p + 12);
  249|  2.08k|        u_adler = get_be32(p + 16);
  250|  2.08k|        c_adler = get_be32(p + 20);
  251|  2.08k|        u_file_size = get_be32(p + 24);
  252|  2.08k|        off_filter = 28;
  253|  2.08k|        filter_cto = p[29];
  254|  2.08k|        n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (254:17): [True: 128, False: 1.95k]
  ------------------
  255|  2.08k|    }
  256|       |
  257|  15.6k|    if (version >= 10) {
  ------------------
  |  Branch (257:9): [True: 15.0k, False: 593]
  ------------------
  258|  15.0k|        if (blen < off_filter + 1)
  ------------------
  |  Branch (258:13): [True: 1, False: 15.0k]
  ------------------
  259|      1|            throwCantUnpack("header corrupted 9");
  260|  15.0k|        filter = p[off_filter];
  261|  15.0k|    } else if ((level & 128) == 0) {
  ------------------
  |  Branch (261:16): [True: 239, False: 354]
  ------------------
  262|    239|        filter = 0;
  263|    354|    } else {
  264|       |        // convert old flags to new filter id
  265|    354|        level &= 127;
  266|    354|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  570|    708|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  571|    328|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (266:13): [True: 26, False: 328]
  |  Branch (266:40): [True: 8, False: 320]
  ------------------
  267|     34|            filter = 0x06;
  268|    320|        else
  269|    320|            filter = 0x26;
  270|    354|    }
  271|  15.6k|    level &= 15;
  272|       |
  273|       |    //
  274|       |    // now some checks
  275|       |    //
  276|       |
  277|  15.6k|    if (version == 0xff)
  ------------------
  |  Branch (277:9): [True: 2, False: 15.6k]
  ------------------
  278|      2|        throwCantUnpack("cannot unpack UPX ;-)");
  279|       |    // check header_checksum
  280|  15.6k|    if (version >= 10) {
  ------------------
  |  Branch (280:9): [True: 15.0k, False: 593]
  ------------------
  281|  15.0k|        int size = getPackHeaderSize(); // expected; based on format and version
  282|  15.0k|        if (size > blen || p[size - 1] != get_packheader_checksum(p, size - 1))
  ------------------
  |  Branch (282:13): [True: 3, False: 15.0k]
  |  Branch (282:13): [True: 113, False: 14.9k]
  |  Branch (282:28): [True: 110, False: 14.9k]
  ------------------
  283|    113|            throwCantUnpack("header corrupted 3");
  284|  15.0k|    }
  285|  15.5k|    if (c_len < 2 || u_len < 2 || !mem_size_valid_bytes(c_len) || !mem_size_valid_bytes(u_len))
  ------------------
  |  Branch (285:9): [True: 4, False: 15.5k]
  |  Branch (285:22): [True: 8, False: 15.5k]
  |  Branch (285:35): [True: 36, False: 15.5k]
  |  Branch (285:67): [True: 29, False: 15.4k]
  ------------------
  286|     77|        throwCantUnpack("header corrupted 4");
  287|       |
  288|       |    //
  289|       |    // success
  290|       |    //
  291|       |
  292|  15.4k|    this->buf_offset = boff;
  293|  15.4k|    return true;
  294|  15.5k|}
_Z19ph_is_forced_methodi:
  300|  38.5k|bool ph_is_forced_method(int method) noexcept { // predicate
  301|  38.5k|    return (method >> 24) == -0x80;
  302|  38.5k|}
_Z16ph_forced_methodi:
  308|  38.5k|int ph_forced_method(int method) noexcept { // extract the forced method
  309|  38.5k|    if (ph_is_forced_method(method))
  ------------------
  |  Branch (309:9): [True: 0, False: 38.5k]
  ------------------
  310|      0|        method &= ~(0x80u << 24);
  311|  38.5k|    assert_noexcept(method > 0);
  ------------------
  |  |  515|  38.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  77.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 38.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  312|      0|    return method;
  313|  38.5k|}
_Z13ph_decompressR10PackHeaderN5XSpan9PtrOrSpanIKhEENS2_IhEEbP6Filter:
  330|  38.7k|                   Filter *ft) {
  331|       |    // verify checksum of compressed data
  332|  38.7k|    if (verify_checksum) {
  ------------------
  |  Branch (332:9): [True: 259, False: 38.4k]
  ------------------
  333|    259|        unsigned adler = upx_adler32(raw_bytes(in, ph.c_len), ph.c_len, ph.saved_c_adler);
  334|    259|        if (adler != ph.c_adler)
  ------------------
  |  Branch (334:13): [True: 164, False: 95]
  ------------------
  335|    164|            throwChecksumError();
  336|    259|    }
  337|       |
  338|       |    // decompress
  339|  38.5k|    if (ph.u_len < ph.c_len)
  ------------------
  |  Branch (339:9): [True: 1, False: 38.5k]
  ------------------
  340|      1|        throwCantUnpack("header corrupted");
  341|  38.5k|    unsigned new_len = ph.u_len;
  342|  38.5k|    int r = upx_decompress(raw_bytes(in, ph.c_len), ph.c_len, raw_bytes(out, ph.u_len), &new_len,
  343|  38.5k|                           ph_forced_method(ph.method), &ph.compress_result);
  344|  38.5k|    if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  559|  38.5k|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (344:9): [True: 0, False: 38.5k]
  ------------------
  345|      0|        throwOutOfMemoryException();
  346|  38.5k|    if (r != UPX_E_OK || new_len != ph.u_len)
  ------------------
  |  |  557|  77.1k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (346:9): [True: 2.32k, False: 36.2k]
  |  Branch (346:26): [True: 8, False: 36.2k]
  ------------------
  347|  2.32k|        throwCompressedDataViolation();
  348|       |
  349|       |    // verify checksum of decompressed data
  350|  36.2k|    if (verify_checksum) {
  ------------------
  |  Branch (350:9): [True: 77, False: 36.1k]
  ------------------
  351|     77|        if (ft)
  ------------------
  |  Branch (351:13): [True: 0, False: 77]
  ------------------
  352|      0|            ft->unfilter(out, ph.u_len);
  353|     77|        unsigned adler = upx_adler32(raw_bytes(out, ph.u_len), ph.u_len, ph.saved_u_adler);
  354|     77|        if (adler != ph.u_adler)
  ------------------
  |  Branch (354:13): [True: 0, False: 77]
  ------------------
  355|      0|            throwChecksumError();
  356|     77|    }
  357|  36.2k|}
packhead.cpp:_ZL23get_packheader_checksumN5XSpan4SpanIKhEEi:
   64|  15.0k|static upx_uint8_t get_packheader_checksum(SPAN_S(const byte) buf, int blen) {
   65|  15.0k|    assert(blen >= 4);
  ------------------
  |  |  512|  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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   66|  15.0k|    assert(get_le32(buf) == UPX_MAGIC_LE32);
  ------------------
  |  |  512|  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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   67|      0|    buf += 4;
   68|  15.0k|    blen -= 4;
   69|  15.0k|    unsigned c = 0;
   70|   420k|    while (blen-- > 0)
  ------------------
  |  Branch (70:12): [True: 405k, False: 15.0k]
  ------------------
   71|   405k|        c += *buf++;
   72|  15.0k|    c %= 251;
   73|  15.0k|    return (upx_uint8_t) c;
   74|  15.0k|}

_ZN10PackMasterC2EP9InputFileP7Options:
   65|  14.6k|PackMaster::PackMaster(InputFile *f, Options *o) noexcept : fi(f) {
   66|       |    // replace global options with local options
   67|  14.6k|    if (o != nullptr) {
  ------------------
  |  Branch (67:9): [True: 14.6k, 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.6k|        saved_opt = o;
   73|  14.6k|        memcpy(&this->local_options, o, sizeof(*o)); // struct copy
   74|  14.6k|        opt = &this->local_options;
   75|  14.6k|    }
   76|  14.6k|}
_ZN10PackMasterD2Ev:
   78|  14.6k|PackMaster::~PackMaster() noexcept {
   79|  14.6k|    upx::owner_delete(packer);
   80|  14.6k|    assert_noexcept(packer == nullptr);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   81|       |    // restore global options
   82|  14.6k|    if (saved_opt != nullptr) {
  ------------------
  |  Branch (82:9): [True: 14.6k, 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.6k|        opt = saved_opt;
   88|  14.6k|        saved_opt = nullptr;
   89|  14.6k|    }
   90|  14.6k|}
_ZN10PackMaster15visitAllPackersEPFN3upx7TriBoolIiLb0EEEP10PackerBasePvEP9InputFilePK7OptionsS5_:
  144|  14.6k|                                        void *user) may_throw {
  145|  14.6k|    assert_noexcept(o != nullptr);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  146|       |
  147|      0|#define VISIT(Klass)                                                                               \
  148|      0|    do {                                                                                           \
  149|      0|        static_assert(std::is_class_v<Klass>);                                                     \
  150|      0|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  151|      0|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  152|      0|        if (o->debug.debug_level)                                                                  \
  153|      0|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  154|      0|                    pb->getFormat(), #Klass);                                                      \
  155|      0|        pb->assertPacker();                                                                        \
  156|      0|        const tribool r = func(pb.get(), user);                                                    \
  157|      0|        if (r)                                                                                     \
  158|      0|            return pb.release(); /* success */                                                     \
  159|      0|        if (r.isThird())                                                                           \
  160|      0|            return nullptr; /* stop and fail early */                                              \
  161|      0|    } while (0)
  162|       |
  163|       |    // NOTE: order of tries is important !!!
  164|       |
  165|       |    //
  166|       |    // .exe
  167|       |    //
  168|  14.6k|    if (!o->dos_exe.force_stub) {
  ------------------
  |  Branch (168:9): [True: 14.6k, False: 0]
  ------------------
  169|       |        // dos32
  170|  14.6k|        VISIT(PackDjgpp2);
  ------------------
  |  |  148|  14.6k|    do {                                                                                           \
  |  |  149|  14.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.6k]
  |  |  ------------------
  |  |  153|  14.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.6k|        pb->assertPacker();                                                                        \
  |  |  156|  14.6k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 4, False: 14.6k]
  |  |  ------------------
  |  |  158|  14.6k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 12, False: 14.6k]
  |  |  ------------------
  |  |  160|  14.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.6k]
  |  |  ------------------
  ------------------
  171|  14.6k|        VISIT(PackTmt);
  ------------------
  |  |  148|  14.6k|    do {                                                                                           \
  |  |  149|  14.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.6k]
  |  |  ------------------
  |  |  153|  14.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.6k|        pb->assertPacker();                                                                        \
  |  |  156|  14.6k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 7, False: 14.6k]
  |  |  ------------------
  |  |  158|  14.6k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 10, False: 14.6k]
  |  |  ------------------
  |  |  160|  14.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.6k]
  |  |  ------------------
  ------------------
  172|  14.6k|        VISIT(PackWcle);
  ------------------
  |  |  148|  14.6k|    do {                                                                                           \
  |  |  149|  14.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.6k]
  |  |  ------------------
  |  |  153|  14.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.6k|        pb->assertPacker();                                                                        \
  |  |  156|  14.6k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 219, False: 14.4k]
  |  |  ------------------
  |  |  158|  14.6k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 4, False: 14.4k]
  |  |  ------------------
  |  |  160|  14.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.4k]
  |  |  ------------------
  ------------------
  173|       |        // Windows
  174|       |        // VISIT(PackW64PeArm64EC); // NOT YET IMPLEMENTED
  175|  14.4k|        VISIT(PackW64PeArm64);
  ------------------
  |  |  148|  14.4k|    do {                                                                                           \
  |  |  149|  14.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.4k]
  |  |  ------------------
  |  |  153|  14.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.4k|        pb->assertPacker();                                                                        \
  |  |  156|  14.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.4k]
  |  |  ------------------
  |  |  158|  14.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.4k]
  |  |  ------------------
  |  |  160|  14.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.4k]
  |  |  ------------------
  ------------------
  176|  14.4k|        VISIT(PackW64PeAmd64);
  ------------------
  |  |  148|  14.4k|    do {                                                                                           \
  |  |  149|  14.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.4k]
  |  |  ------------------
  |  |  153|  14.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.4k|        pb->assertPacker();                                                                        \
  |  |  156|  14.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 24, False: 14.3k]
  |  |  ------------------
  |  |  158|  14.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 11, False: 14.3k]
  |  |  ------------------
  |  |  160|  14.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.3k]
  |  |  ------------------
  ------------------
  177|  14.3k|        VISIT(PackW32PeI386);
  ------------------
  |  |  148|  14.3k|    do {                                                                                           \
  |  |  149|  14.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.3k]
  |  |  ------------------
  |  |  153|  14.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.3k|        pb->assertPacker();                                                                        \
  |  |  156|  14.3k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 105, False: 14.2k]
  |  |  ------------------
  |  |  158|  14.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 12, False: 14.2k]
  |  |  ------------------
  |  |  160|  14.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.2k]
  |  |  ------------------
  ------------------
  178|  14.2k|        VISIT(PackWinCeArm);
  ------------------
  |  |  148|  14.2k|    do {                                                                                           \
  |  |  149|  14.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.2k]
  |  |  ------------------
  |  |  153|  14.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.2k|        pb->assertPacker();                                                                        \
  |  |  156|  14.2k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 5, False: 14.2k]
  |  |  ------------------
  |  |  158|  14.2k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 2, False: 14.2k]
  |  |  ------------------
  |  |  160|  14.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.2k]
  |  |  ------------------
  ------------------
  179|  14.2k|    }
  180|  14.2k|    VISIT(PackExe); // dos/exe
  ------------------
  |  |  148|  14.2k|    do {                                                                                           \
  |  |  149|  14.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.2k]
  |  |  ------------------
  |  |  153|  14.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.2k|        pb->assertPacker();                                                                        \
  |  |  156|  14.2k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 55, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.2k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  181|       |
  182|       |    //
  183|       |    // linux kernel
  184|       |    //
  185|  14.1k|    VISIT(PackVmlinuxARMEL);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  186|  14.1k|    VISIT(PackVmlinuxARMEB);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 2, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  187|  14.1k|    VISIT(PackVmlinuxPPC32);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  188|  14.1k|    VISIT(PackVmlinuxPPC64LE);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  189|  14.1k|    VISIT(PackVmlinuxAMD64);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  190|  14.1k|    VISIT(PackVmlinuxI386);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  191|  14.1k|#if (WITH_ZLIB)
  192|  14.1k|    VISIT(PackVmlinuzI386);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 4, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  193|  14.1k|    VISIT(PackBvmlinuzI386);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 5, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  194|  14.1k|    VISIT(PackVmlinuzARMEL);
  ------------------
  |  |  148|  14.1k|    do {                                                                                           \
  |  |  149|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  153|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  14.1k|        pb->assertPacker();                                                                        \
  |  |  156|  14.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  158|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 1, False: 14.1k]
  |  |  ------------------
  |  |  160|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  195|  14.1k|#endif
  196|       |
  197|       |    //
  198|       |    // linux
  199|       |    //
  200|  14.1k|    if (!o->o_unix.force_execve) {
  ------------------
  |  Branch (200:9): [True: 13.4k, False: 677]
  ------------------
  201|  13.4k|        if (o->o_unix.use_ptinterp) {
  ------------------
  |  Branch (201:13): [True: 0, False: 13.4k]
  ------------------
  202|      0|            VISIT(PackLinuxElf32x86interp);
  ------------------
  |  |  148|      0|    do {                                                                                           \
  |  |  149|      0|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|      0|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|      0|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|      0|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  153|      0|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|      0|        pb->assertPacker();                                                                        \
  |  |  156|      0|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|      0|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  158|      0|            return pb.release(); /* success */                                                     \
  |  |  159|      0|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  160|      0|            return nullptr; /* stop and fail early */                                              \
  |  |  161|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  203|      0|        }
  204|  13.4k|        VISIT(PackFreeBSDElf32x86);
  ------------------
  |  |  148|  13.4k|    do {                                                                                           \
  |  |  149|  13.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  13.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  13.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  13.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  153|  13.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  13.4k|        pb->assertPacker();                                                                        \
  |  |  156|  13.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  13.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 13.4k]
  |  |  ------------------
  |  |  158|  13.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  13.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  160|  13.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  13.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
  205|  13.4k|        VISIT(PackNetBSDElf32x86);
  ------------------
  |  |  148|  13.4k|    do {                                                                                           \
  |  |  149|  13.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  13.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  13.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  13.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  153|  13.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  13.4k|        pb->assertPacker();                                                                        \
  |  |  156|  13.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  13.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  158|  13.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  13.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  160|  13.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  13.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
  206|  13.4k|        VISIT(PackOpenBSDElf32x86);
  ------------------
  |  |  148|  13.4k|    do {                                                                                           \
  |  |  149|  13.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  13.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  13.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  13.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  153|  13.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  13.4k|        pb->assertPacker();                                                                        \
  |  |  156|  13.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  13.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  158|  13.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  13.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  160|  13.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  13.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
  207|  13.4k|        VISIT(PackLinuxElf32x86);
  ------------------
  |  |  148|  13.4k|    do {                                                                                           \
  |  |  149|  13.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  13.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  13.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  13.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  153|  13.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  13.4k|        pb->assertPacker();                                                                        \
  |  |  156|  13.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  13.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.01k, False: 12.4k]
  |  |  ------------------
  |  |  158|  13.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  13.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 12.4k]
  |  |  ------------------
  |  |  160|  12.4k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  12.4k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 12.4k]
  |  |  ------------------
  ------------------
  208|  12.4k|        VISIT(PackLinuxElf64amd);
  ------------------
  |  |  148|  12.4k|    do {                                                                                           \
  |  |  149|  12.4k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  12.4k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  12.4k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  12.4k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.4k]
  |  |  ------------------
  |  |  153|  12.4k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  12.4k|        pb->assertPacker();                                                                        \
  |  |  156|  12.4k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  12.4k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.16k, False: 11.3k]
  |  |  ------------------
  |  |  158|  12.4k|            return pb.release(); /* success */                                                     \
  |  |  159|  12.4k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 11.3k]
  |  |  ------------------
  |  |  160|  11.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  11.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 11.3k]
  |  |  ------------------
  ------------------
  209|  11.3k|        VISIT(PackLinuxElf32armLe);
  ------------------
  |  |  148|  11.3k|    do {                                                                                           \
  |  |  149|  11.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  11.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  11.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  11.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.3k]
  |  |  ------------------
  |  |  153|  11.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  11.3k|        pb->assertPacker();                                                                        \
  |  |  156|  11.3k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  11.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 8, False: 11.3k]
  |  |  ------------------
  |  |  158|  11.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 11.3k]
  |  |  ------------------
  |  |  160|  11.3k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  11.3k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 11.3k]
  |  |  ------------------
  ------------------
  210|  11.3k|        VISIT(PackLinuxElf32armBe);
  ------------------
  |  |  148|  11.3k|    do {                                                                                           \
  |  |  149|  11.3k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  11.3k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  11.3k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  11.3k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.3k]
  |  |  ------------------
  |  |  153|  11.3k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  11.3k|        pb->assertPacker();                                                                        \
  |  |  156|  11.3k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  11.3k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 543, False: 10.7k]
  |  |  ------------------
  |  |  158|  11.3k|            return pb.release(); /* success */                                                     \
  |  |  159|  11.3k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  160|  10.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.7k]
  |  |  ------------------
  ------------------
  211|  10.7k|        VISIT(PackLinuxElf64arm);
  ------------------
  |  |  148|  10.7k|    do {                                                                                           \
  |  |  149|  10.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  153|  10.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.7k|        pb->assertPacker();                                                                        \
  |  |  156|  10.7k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 24, False: 10.7k]
  |  |  ------------------
  |  |  158|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  160|  10.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.7k]
  |  |  ------------------
  ------------------
  212|  10.7k|        VISIT(PackLinuxElf64riscv64);
  ------------------
  |  |  148|  10.7k|    do {                                                                                           \
  |  |  149|  10.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  153|  10.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.7k|        pb->assertPacker();                                                                        \
  |  |  156|  10.7k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  158|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  160|  10.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.7k]
  |  |  ------------------
  ------------------
  213|  10.7k|        VISIT(PackLinuxElf32ppc);
  ------------------
  |  |  148|  10.7k|    do {                                                                                           \
  |  |  149|  10.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  153|  10.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.7k|        pb->assertPacker();                                                                        \
  |  |  156|  10.7k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.14k, False: 9.59k]
  |  |  ------------------
  |  |  158|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.59k]
  |  |  ------------------
  |  |  160|  9.59k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.59k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.59k]
  |  |  ------------------
  ------------------
  214|  9.59k|        VISIT(PackLinuxElf64ppc);
  ------------------
  |  |  148|  9.59k|    do {                                                                                           \
  |  |  149|  9.59k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.59k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.59k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.59k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.59k]
  |  |  ------------------
  |  |  153|  9.59k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.59k|        pb->assertPacker();                                                                        \
  |  |  156|  9.59k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  9.59k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 8, False: 9.58k]
  |  |  ------------------
  |  |  158|  9.59k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.59k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.58k]
  |  |  ------------------
  |  |  160|  9.58k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.58k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.58k]
  |  |  ------------------
  ------------------
  215|  9.58k|        VISIT(PackLinuxElf64ppcle);
  ------------------
  |  |  148|  9.58k|    do {                                                                                           \
  |  |  149|  9.58k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.58k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.58k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.58k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.58k]
  |  |  ------------------
  |  |  153|  9.58k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.58k|        pb->assertPacker();                                                                        \
  |  |  156|  9.58k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  9.58k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 9, False: 9.57k]
  |  |  ------------------
  |  |  158|  9.58k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.58k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.57k]
  |  |  ------------------
  |  |  160|  9.57k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.57k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.57k]
  |  |  ------------------
  ------------------
  216|  9.57k|        VISIT(PackLinuxElf32mipsel);
  ------------------
  |  |  148|  9.57k|    do {                                                                                           \
  |  |  149|  9.57k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.57k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.57k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.57k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.57k]
  |  |  ------------------
  |  |  153|  9.57k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.57k|        pb->assertPacker();                                                                        \
  |  |  156|  9.57k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  9.57k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 24, False: 9.55k]
  |  |  ------------------
  |  |  158|  9.57k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.57k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.55k]
  |  |  ------------------
  |  |  160|  9.55k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.55k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.55k]
  |  |  ------------------
  ------------------
  217|  9.55k|        VISIT(PackLinuxElf32mipseb);
  ------------------
  |  |  148|  9.55k|    do {                                                                                           \
  |  |  149|  9.55k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.55k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.55k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.55k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.55k]
  |  |  ------------------
  |  |  153|  9.55k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.55k|        pb->assertPacker();                                                                        \
  |  |  156|  9.55k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  9.55k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 18, False: 9.53k]
  |  |  ------------------
  |  |  158|  9.55k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.55k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.53k]
  |  |  ------------------
  |  |  160|  9.53k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.53k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.53k]
  |  |  ------------------
  ------------------
  218|  9.53k|        VISIT(PackLinuxI386sh);
  ------------------
  |  |  148|  9.53k|    do {                                                                                           \
  |  |  149|  9.53k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  9.53k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  9.53k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  9.53k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.53k]
  |  |  ------------------
  |  |  153|  9.53k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  9.53k|        pb->assertPacker();                                                                        \
  |  |  156|  9.53k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  9.53k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 43, False: 9.48k]
  |  |  ------------------
  |  |  158|  9.53k|            return pb.release(); /* success */                                                     \
  |  |  159|  9.53k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 9.48k]
  |  |  ------------------
  |  |  160|  9.48k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  9.48k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 9.48k]
  |  |  ------------------
  ------------------
  219|  9.53k|    }
  220|  10.1k|    VISIT(PackBSDI386);
  ------------------
  |  |  148|  10.1k|    do {                                                                                           \
  |  |  149|  10.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |  153|  10.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.1k|        pb->assertPacker();                                                                        \
  |  |  156|  10.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 10.1k]
  |  |  ------------------
  |  |  158|  10.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |  160|  10.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.1k]
  |  |  ------------------
  ------------------
  221|  10.1k|    VISIT(PackMachFat);   // cafebabe conflict
  ------------------
  |  |  148|  10.1k|    do {                                                                                           \
  |  |  149|  10.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |  153|  10.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.1k|        pb->assertPacker();                                                                        \
  |  |  156|  10.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 17, False: 10.1k]
  |  |  ------------------
  |  |  158|  10.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |  160|  10.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  10.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 10.1k]
  |  |  ------------------
  ------------------
  222|  10.1k|    VISIT(PackLinuxI386); // cafebabe conflict
  ------------------
  |  |  148|  10.1k|    do {                                                                                           \
  |  |  149|  10.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  10.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  10.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  10.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.1k]
  |  |  ------------------
  |  |  153|  10.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  10.1k|        pb->assertPacker();                                                                        \
  |  |  156|  10.1k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  10.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1.18k, False: 8.95k]
  |  |  ------------------
  |  |  158|  10.1k|            return pb.release(); /* success */                                                     \
  |  |  159|  10.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  160|  8.95k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.95k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.95k]
  |  |  ------------------
  ------------------
  223|       |
  224|       |    //
  225|       |    // Mach (Darwin / macOS)
  226|       |    //
  227|  8.95k|    VISIT(PackDylibAMD64);
  ------------------
  |  |  148|  8.95k|    do {                                                                                           \
  |  |  149|  8.95k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.95k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.95k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.95k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  153|  8.95k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.95k|        pb->assertPacker();                                                                        \
  |  |  156|  8.95k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.95k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 2, False: 8.95k]
  |  |  ------------------
  |  |  158|  8.95k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.95k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  160|  8.95k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.95k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.95k]
  |  |  ------------------
  ------------------
  228|  8.95k|    VISIT(PackMachPPC32); // TODO: this works with upx 3.91..3.94 but got broken in 3.95; FIXME
  ------------------
  |  |  148|  8.95k|    do {                                                                                           \
  |  |  149|  8.95k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.95k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.95k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.95k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  153|  8.95k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.95k|        pb->assertPacker();                                                                        \
  |  |  156|  8.95k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.95k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 123, False: 8.83k]
  |  |  ------------------
  |  |  158|  8.95k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.95k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.83k]
  |  |  ------------------
  |  |  160|  8.83k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.83k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.83k]
  |  |  ------------------
  ------------------
  229|  8.83k|    VISIT(PackMachI386);
  ------------------
  |  |  148|  8.83k|    do {                                                                                           \
  |  |  149|  8.83k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.83k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.83k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.83k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.83k]
  |  |  ------------------
  |  |  153|  8.83k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.83k|        pb->assertPacker();                                                                        \
  |  |  156|  8.83k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.83k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 1, False: 8.83k]
  |  |  ------------------
  |  |  158|  8.83k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.83k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.83k]
  |  |  ------------------
  |  |  160|  8.83k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.83k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.83k]
  |  |  ------------------
  ------------------
  230|  8.83k|    VISIT(PackMachAMD64);
  ------------------
  |  |  148|  8.83k|    do {                                                                                           \
  |  |  149|  8.83k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.83k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.83k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.83k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.83k]
  |  |  ------------------
  |  |  153|  8.83k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.83k|        pb->assertPacker();                                                                        \
  |  |  156|  8.83k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.83k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 24, False: 8.80k]
  |  |  ------------------
  |  |  158|  8.83k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.83k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.80k]
  |  |  ------------------
  |  |  160|  8.80k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.80k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.80k]
  |  |  ------------------
  ------------------
  231|  8.80k|    VISIT(PackMachARMEL);
  ------------------
  |  |  148|  8.80k|    do {                                                                                           \
  |  |  149|  8.80k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.80k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.80k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.80k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.80k]
  |  |  ------------------
  |  |  153|  8.80k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.80k|        pb->assertPacker();                                                                        \
  |  |  156|  8.80k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.80k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 105, False: 8.70k]
  |  |  ------------------
  |  |  158|  8.80k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.80k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.70k]
  |  |  ------------------
  |  |  160|  8.70k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.70k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.70k]
  |  |  ------------------
  ------------------
  232|  8.70k|    VISIT(PackMachARM64EL);
  ------------------
  |  |  148|  8.70k|    do {                                                                                           \
  |  |  149|  8.70k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.70k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.70k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.70k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.70k]
  |  |  ------------------
  |  |  153|  8.70k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.70k|        pb->assertPacker();                                                                        \
  |  |  156|  8.70k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.70k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 621, False: 8.08k]
  |  |  ------------------
  |  |  158|  8.70k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.70k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.08k]
  |  |  ------------------
  |  |  160|  8.08k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.08k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.08k]
  |  |  ------------------
  ------------------
  233|       |
  234|       |    // 2010-03-12  omit these because PackMachBase<T>::pack4dylib (p_mach.cpp)
  235|       |    // does not understand what the Darwin (Apple Mac OS X) dynamic loader
  236|       |    // assumes about .dylib file structure.
  237|       |    //   VISIT(PackDylibI386);
  238|       |    //   VISIT(PackDylibPPC32);
  239|       |
  240|       |    //
  241|       |    // misc
  242|       |    //
  243|  8.08k|    VISIT(PackTos);   // atari/tos
  ------------------
  |  |  148|  8.08k|    do {                                                                                           \
  |  |  149|  8.08k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.08k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.08k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.08k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.08k]
  |  |  ------------------
  |  |  153|  8.08k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.08k|        pb->assertPacker();                                                                        \
  |  |  156|  8.08k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.08k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 34, False: 8.04k]
  |  |  ------------------
  |  |  158|  8.08k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.08k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.04k]
  |  |  ------------------
  |  |  160|  8.04k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.04k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.04k]
  |  |  ------------------
  ------------------
  244|  8.04k|    VISIT(PackPs1);   // ps1/exe
  ------------------
  |  |  148|  8.04k|    do {                                                                                           \
  |  |  149|  8.04k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.04k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.04k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.04k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.04k]
  |  |  ------------------
  |  |  153|  8.04k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.04k|        pb->assertPacker();                                                                        \
  |  |  156|  8.04k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.04k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 2, False: 8.04k]
  |  |  ------------------
  |  |  158|  8.04k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.04k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.04k]
  |  |  ------------------
  |  |  160|  8.04k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.04k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.04k]
  |  |  ------------------
  ------------------
  245|  8.04k|    VISIT(PackSys);   // dos/sys
  ------------------
  |  |  148|  8.04k|    do {                                                                                           \
  |  |  149|  8.04k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.04k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.04k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.04k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.04k]
  |  |  ------------------
  |  |  153|  8.04k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.04k|        pb->assertPacker();                                                                        \
  |  |  156|  8.04k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.04k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 15, False: 8.03k]
  |  |  ------------------
  |  |  158|  8.04k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.04k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.03k]
  |  |  ------------------
  |  |  160|  8.03k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.03k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.03k]
  |  |  ------------------
  ------------------
  246|  8.03k|    VISIT(PackCom);   // dos/com
  ------------------
  |  |  148|  8.03k|    do {                                                                                           \
  |  |  149|  8.03k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.03k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.03k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.03k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.03k]
  |  |  ------------------
  |  |  153|  8.03k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.03k|        pb->assertPacker();                                                                        \
  |  |  156|  8.03k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.03k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 20, False: 8.01k]
  |  |  ------------------
  |  |  158|  8.03k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.03k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 8.01k]
  |  |  ------------------
  |  |  160|  8.01k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  8.01k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 8.01k]
  |  |  ------------------
  ------------------
  247|  8.01k|    VISIT(PackCpm86); // cpm86/cmd
  ------------------
  |  |  148|  8.01k|    do {                                                                                           \
  |  |  149|  8.01k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  150|  8.01k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  151|  8.01k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  152|  8.01k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.01k]
  |  |  ------------------
  |  |  153|  8.01k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  154|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  155|  8.01k|        pb->assertPacker();                                                                        \
  |  |  156|  8.01k|        const tribool r = func(pb.get(), user);                                                    \
  |  |  157|  8.01k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (157:13): [True: 46, False: 7.96k]
  |  |  ------------------
  |  |  158|  8.01k|            return pb.release(); /* success */                                                     \
  |  |  159|  8.01k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (159:13): [True: 0, False: 7.96k]
  |  |  ------------------
  |  |  160|  7.96k|            return nullptr; /* stop and fail early */                                              \
  |  |  161|  7.96k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (161:14): [Folded, False: 7.96k]
  |  |  ------------------
  ------------------
  248|       |
  249|  7.96k|    return nullptr;
  250|  8.01k|#undef VISIT
  251|  8.01k|}
_ZN10PackMaster11getUnpackerEP9InputFile:
  260|  14.6k|/*static*/ PackerBase *PackMaster::getUnpacker(InputFile *f) may_throw {
  261|  14.6k|    PackerBase *pb = visitAllPackers(try_can_unpack, f, opt, f);
  262|  14.6k|    if (!pb)
  ------------------
  |  Branch (262:9): [True: 2.36k, False: 12.2k]
  ------------------
  263|  2.36k|        throwNotPacked();
  264|  12.2k|    return pb;
  265|  14.6k|}
_ZN10PackMaster6unpackEP10OutputFile:
  277|  14.6k|void PackMaster::unpack(OutputFile *fo) may_throw {
  278|  14.6k|    assert(packer == nullptr);
  ------------------
  |  |  512|  14.6k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  279|      0|    packer = getUnpacker(fi);
  280|  14.6k|    packer->doUnpack(fo);
  281|  14.6k|}
packmast.cpp:_ZL14try_can_unpackP10PackerBasePv:
  118|   433k|static noinline tribool try_can_unpack(PackerBase *pb, void *user) may_throw {
  119|   433k|    assert_noexcept(pb != nullptr);
  ------------------
  |  |  515|   433k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   867k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 433k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  120|   433k|    assert_noexcept(user != nullptr);
  ------------------
  |  |  515|   433k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   867k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 433k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  121|      0|    InputFile *f = (InputFile *) user;
  122|   433k|    try {
  123|   433k|        pb->initPackHeader();
  124|   433k|        f->seek(0, SEEK_SET);
  125|   433k|        const tribool r = pb->canUnpack();
  126|   433k|        if (r) {
  ------------------
  |  Branch (126:13): [True: 6.62k, False: 427k]
  ------------------
  127|  6.62k|            f->seek(0, SEEK_SET);
  128|  6.62k|            return true; // success
  129|  6.62k|        }
  130|   427k|        if (r.isThird()) // aka "-1"
  ------------------
  |  Branch (130:13): [True: 69, False: 427k]
  ------------------
  131|     69|            return r;    // canUnpack() says the format is recognized and we should fail early
  132|   427k|    } catch (const IOException &) {
  133|       |        // ignored
  134|  16.9k|    }
  135|   424k|    return false;
  136|   433k|}

_ZN6PeFileC2EP9InputFile:
   78|  55.6k|PeFile::PeFile(InputFile *f) : super(f) {
   79|  55.6k|    bele = &N_BELE_RTP::le_policy;
   80|  55.6k|    COMPILE_TIME_ASSERT(sizeof(ddirs_t) == 8)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   81|  55.6k|    COMPILE_TIME_ASSERT(sizeof(import_desc) == 20)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   82|  55.6k|    COMPILE_TIME_ASSERT(sizeof(pe_section_t) == 40)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   83|  55.6k|    COMPILE_TIME_ASSERT_ALIGNED1(ddirs_t)
  ------------------
  |  |  465|  55.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  55.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  55.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  55.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  55.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  55.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  55.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  55.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  55.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  55.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  55.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  55.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  55.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  55.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  55.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  55.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|  55.6k|    COMPILE_TIME_ASSERT_ALIGNED1(import_desc)
  ------------------
  |  |  465|  55.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  55.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  55.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  55.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  55.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  55.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  55.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  55.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  55.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  55.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  55.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  55.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  55.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  55.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  55.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  55.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  55.6k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_section_t)
  ------------------
  |  |  465|  55.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  55.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  55.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  55.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  55.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  55.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  55.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  55.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  55.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  55.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  55.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  55.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  55.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  55.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  55.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  55.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  55.6k|    COMPILE_TIME_ASSERT(sizeof(PeExactTrailer) == 8)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|  55.6k|    COMPILE_TIME_ASSERT_ALIGNED1(PeExactTrailer)
  ------------------
  |  |  465|  55.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  55.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  55.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  55.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  55.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  55.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  55.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  55.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  55.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  55.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  55.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  55.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  55.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  55.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  55.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  55.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  55.6k|    COMPILE_TIME_ASSERT(RT_LAST == TABLESIZE(opt->win32_pe.compress_rt))
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|       |
   90|  55.6k|    isection = nullptr;
   91|  55.6k|    oimport = nullptr;
   92|  55.6k|    oimpdlls = nullptr;
   93|  55.6k|    orelocs = nullptr;
   94|  55.6k|    oexport = nullptr;
   95|  55.6k|    otls = nullptr;
   96|  55.6k|    oresources = nullptr;
   97|  55.6k|    oxrelocs = nullptr;
   98|  55.6k|    icondir_offset = 0;
   99|  55.6k|    icondir_count = 0;
  100|  55.6k|    importbyordinal = false;
  101|  55.6k|    kernel32ordinal = false;
  102|  55.6k|    tlsindex = 0;
  103|  55.6k|    big_relocs = 0;
  104|  55.6k|    sorelocs = 0;
  105|  55.6k|    soxrelocs = 0;
  106|  55.6k|    sotls = 0;
  107|  55.6k|    ilinker = nullptr;
  108|  55.6k|    use_tls_callbacks = false;
  109|  55.6k|    oloadconf = nullptr;
  110|  55.6k|    soloadconf = 0;
  111|  55.6k|    dbgCET = nullptr;
  112|       |
  113|  55.6k|    isdll = false;
  114|  55.6k|    isrtm = false;
  115|  55.6k|    isefi = false;
  116|  55.6k|    use_dep_hack = true;
  117|  55.6k|    use_clear_dirty_stack = true;
  118|  55.6k|    use_stub_relocs = true;
  119|  55.6k|}
_ZNK6PeFile17testUnpackVersionEi:
  121|    146|bool PeFile::testUnpackVersion(int version) const {
  122|    146|    if (version != ph_version && ph_version != -1)
  ------------------
  |  Branch (122:9): [True: 146, False: 0]
  |  Branch (122:34): [True: 0, False: 146]
  ------------------
  123|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  124|    146|    if (!canUnpackVersion(version))
  ------------------
  |  Branch (124:9): [True: 3, False: 143]
  ------------------
  125|      3|        throwCantUnpack("this program is packed with an obsolete version and cannot be unpacked");
  126|    143|    return true;
  127|    146|}
_ZN6PeFile12checkMachineEj:
  138|  1.03k|/*static*/ int PeFile::checkMachine(unsigned cpu) {
  139|       |    // unsupported
  140|  1.03k|    if (cpu == IMAGE_FILE_MACHINE_IA64)
  ------------------
  |  Branch (140:9): [True: 1, False: 1.03k]
  ------------------
  141|      1|        throwCantPack("win64/ia64 is not supported");
  142|  1.03k|    if (cpu == IMAGE_FILE_MACHINE_LOONGARCH64)
  ------------------
  |  Branch (142:9): [True: 1, False: 1.03k]
  ------------------
  143|      1|        throwCantPack("win64/loong64 is not supported");
  144|  1.03k|    if (cpu == IMAGE_FILE_MACHINE_RISCV64)
  ------------------
  |  Branch (144:9): [True: 1, False: 1.03k]
  ------------------
  145|      1|        throwCantPack("win64/riscv64 is not supported");
  146|       |
  147|       |    // known but not (yet?) supported
  148|  1.03k|    if (cpu == IMAGE_FILE_MACHINE_ARMNT)
  ------------------
  |  Branch (148:9): [True: 1, False: 1.02k]
  ------------------
  149|      1|        throwCantPack("win32/armnt is not supported"); // obsolete
  150|       |    // FIXME: it seems that arm64ec actually uses MACHINE_AMD64 ???
  151|  1.02k|    if (cpu == IMAGE_FILE_MACHINE_ARM64EC)
  ------------------
  |  Branch (151:9): [True: 1, False: 1.02k]
  ------------------
  152|      1|        throwCantPack("win64/arm64ec is not yet supported");
  153|       |
  154|       |    // supported
  155|  1.02k|    if (cpu == IMAGE_FILE_MACHINE_AMD64)
  ------------------
  |  Branch (155:9): [True: 374, False: 654]
  ------------------
  156|    374|        return UPX_F_W64PE_AMD64;
  ------------------
  |  |  605|    374|#define UPX_F_W64PE_AMD64         36
  ------------------
  157|    654|    if (cpu == IMAGE_FILE_MACHINE_ARM64)
  ------------------
  |  Branch (157:9): [True: 11, False: 643]
  ------------------
  158|     11|        return UPX_F_W64PE_ARM64;
  ------------------
  |  |  612|     11|#define UPX_F_W64PE_ARM64         43
  ------------------
  159|    643|    if (cpu == IMAGE_FILE_MACHINE_ARM || cpu == IMAGE_FILE_MACHINE_THUMB)
  ------------------
  |  Branch (159:9): [True: 94, False: 549]
  |  Branch (159:42): [True: 12, False: 537]
  ------------------
  160|    106|        return UPX_F_WINCE_ARM;
  ------------------
  |  |  590|    106|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
  161|    537|    if (cpu >= IMAGE_FILE_MACHINE_I386 && cpu <= 0x150) // what is this 0x150 ???
  ------------------
  |  Branch (161:9): [True: 530, False: 7]
  |  Branch (161:43): [True: 501, False: 29]
  ------------------
  162|    501|        return UPX_F_W32PE_I386;
  ------------------
  |  |  578|    501|#define UPX_F_W32PE_I386          9
  ------------------
  163|       |
  164|       |    // other or unknown (alpha, mips, powerpc, sh, etc.)
  165|     36|    throwCantPack("pefile: unsupported machine %#x", cpu);
  166|      0|    return 0; // pacify msvc
  167|    537|}
_ZN6PeFile14readFileHeaderEv:
  169|  55.6k|int PeFile::readFileHeader() {
  170|  55.6k|    struct alignas(1) ExeHeader final {
  171|  55.6k|        LE16 mz;
  172|  55.6k|        LE16 m512;
  173|  55.6k|        LE16 p512;
  174|  55.6k|        char _[18];
  175|  55.6k|        LE16 relocoffs;
  176|  55.6k|        char __[34];
  177|  55.6k|        LE32 nexepos;
  178|  55.6k|    };
  179|       |
  180|  55.6k|    COMPILE_TIME_ASSERT(sizeof(ExeHeader) == 64)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  181|  55.6k|    COMPILE_TIME_ASSERT_ALIGNED1(ExeHeader)
  ------------------
  |  |  465|  55.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  55.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  55.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  55.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  55.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  55.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  55.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  55.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  55.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  55.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  55.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  55.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  55.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  55.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  55.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  55.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  55.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  55.6k|    COMPILE_TIME_ASSERT(sizeof(((ExeHeader *) nullptr)->_) == 18)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  183|  55.6k|    COMPILE_TIME_ASSERT(sizeof(((ExeHeader *) nullptr)->__) == 34)
  ------------------
  |  |  266|  55.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  55.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  184|       |
  185|  55.6k|    ExeHeader h;
  186|  55.6k|    int ic;
  187|  55.6k|    pe_offset = 0;
  188|       |
  189|  63.3k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (189:18): [True: 63.0k, False: 320]
  ------------------
  190|  63.0k|        fi->seek(pe_offset, SEEK_SET);
  191|  63.0k|        fi->readx(&h, sizeof(h));
  192|       |
  193|  63.0k|        if (h.mz == 'M' + 'Z' * 256) // dos exe
  ------------------
  |  Branch (193:13): [True: 7.78k, False: 55.2k]
  ------------------
  194|  7.78k|        {
  195|  7.78k|            if (h.nexepos && h.nexepos < sizeof(ExeHeader)) {
  ------------------
  |  Branch (195:17): [True: 1.41k, False: 6.37k]
  |  Branch (195:30): [True: 4, False: 1.40k]
  ------------------
  196|       |                // Overlapping MZ and PE headers by 'leanify', etc.
  197|      4|                char buf[64];
  198|      4|                snprintf(buf, sizeof(buf), "PE and MZ header overlap: %#x < %#x",
  ------------------
  |  |   75|      4|#define snprintf  upx_safe_snprintf
  ------------------
  199|      4|                         (unsigned) h.nexepos, (unsigned) sizeof(ExeHeader));
  200|      4|                throwCantPack(buf);
  201|      4|            }
  202|  7.78k|            const unsigned delta = (h.relocoffs >= 0x40)
  ------------------
  |  Branch (202:36): [True: 5.29k, False: 2.48k]
  ------------------
  203|  7.78k|                                       ? h.nexepos // new format exe
  204|  7.78k|                                       : (h.p512 * 512 + h.m512 - h.m512 ? 512 : h.nexepos);
  ------------------
  |  Branch (204:43): [True: 274, False: 2.21k]
  ------------------
  205|       |
  206|  7.78k|            if ((pe_offset + delta) < delta // wrap-around
  ------------------
  |  Branch (206:17): [True: 6, False: 7.77k]
  ------------------
  207|  7.77k|                || (pe_offset + delta) > file_size_u) {
  ------------------
  |  Branch (207:20): [True: 76, False: 7.70k]
  ------------------
  208|     82|                char buf[64];
  209|     82|                snprintf(buf, sizeof(buf), "bad PE delta %#x at offset %#x", delta, pe_offset);
  ------------------
  |  |   75|     82|#define snprintf  upx_safe_snprintf
  ------------------
  210|     82|                throwCantPack(buf);
  211|     82|            }
  212|  7.70k|            pe_offset += delta;
  213|  55.2k|        } else if (get_le32((const byte *) &h) == 'P' + 'E' * 256)
  ------------------
  |  Branch (213:20): [True: 1.07k, False: 54.1k]
  ------------------
  214|  1.07k|            break;
  215|  54.1k|        else
  216|  54.1k|            return 0;
  217|  63.0k|    }
  218|  1.39k|    if (ic == 20)
  ------------------
  |  Branch (218:9): [True: 320, False: 1.07k]
  ------------------
  219|    320|        return 0;
  220|  1.07k|    fi->seek(pe_offset, SEEK_SET);
  221|  1.07k|    readPeHeader();
  222|  1.07k|    return getFormat();
  223|  1.39k|}
_ZN6PeFile5Reloc15RelocationBlock5resetEv:
  337|      6|void PeFile::Reloc::RelocationBlock::reset() noexcept {
  338|      6|    rel = nullptr;  // SPAN_0
  339|      6|    rel1 = nullptr; // SPAN_0
  340|      6|    count = 0;
  341|      6|}
_ZN6PeFile5RelocD2Ev:
  370|      3|PeFile::Reloc::~Reloc() noexcept {
  371|      3|    COMPILE_TIME_ASSERT(sizeof(BaseReloc) == 8)
  ------------------
  |  |  266|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  372|      3|    COMPILE_TIME_ASSERT_ALIGNED1(BaseReloc)
  ------------------
  |  |  465|      3|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|      3|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|      3|    {                                                                                              \
  |  |  |  |  |  |  448|      3|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|      3|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|      3|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|      3|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|      3|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|      3|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|      3|        };                                                                                         \
  |  |  |  |  |  |  455|      3|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|      3|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|      3|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|      3|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|      3|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|      3|    }
  |  |  |  |  ------------------
  |  |  |  |  463|      3|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|      3|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  373|      3|    if (start_did_alloc) // don't leak memory on exceptions
  ------------------
  |  Branch (373:9): [True: 0, False: 3]
  ------------------
  374|      0|        delete[] start;
  375|      3|}
_ZN6PeFile5RelocC2Ej:
  389|      3|PeFile::Reloc::Reloc(unsigned relocnum) {
  390|      3|    start_size_in_bytes = mem_size(RELOC_ENTRY_SIZE, relocnum, RELOC_INPLACE_OFFSET, 8192);
  391|      3|    start = new byte[start_size_in_bytes]; // => transfer ownership to oxrelocs[] in finish()
  392|      3|    start_did_alloc = true;
  393|      3|    initSpans();
  394|      3|}
_ZN6PeFile5Reloc9initSpansEv:
  396|      3|void PeFile::Reloc::initSpans() {
  397|      3|    start_buf = SPAN_S_MAKE(byte, start, start_size_in_bytes); // => now is a SPAN_S
  ------------------
  |  |  210|      3|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|      3|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  398|      3|    rb.rel = SPAN_TYPE_CAST(BaseReloc, start_buf);             // SPAN_0
  ------------------
  |  |  216|      3|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|      3|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  399|      3|    rb.rel1 = SPAN_TYPE_CAST(LE16, start_buf);                 // SPAN_0
  ------------------
  |  |  216|      3|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|      3|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  400|      3|    rb.reset();
  401|      3|}
_ZN6PeFile5Reloc9add_relocEjj:
  467|  23.8k|void PeFile::Reloc::add_reloc(unsigned pos, unsigned reloc_type) {
  468|  23.8k|    assert(start_did_alloc);
  ------------------
  |  |  512|  23.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 23.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|       |    // assert(reloc_type != IMAGE_REL_BASED_IGNORE);
  470|  23.8k|    if (reloc_type == IMAGE_REL_BASED_IGNORE)
  ------------------
  |  Branch (470:9): [True: 0, False: 23.8k]
  ------------------
  471|      0|        return;
  472|  23.8k|    auto entry_ptr = start_buf + mem_size(RELOC_ENTRY_SIZE, counts[0], RELOC_INPLACE_OFFSET);
  473|  23.8k|    reloc_entry_encode(entry_ptr, pos, reloc_type);
  474|  23.8k|    counts[0] += 1;
  475|  23.8k|}
_ZN6PeFile5Reloc6finishERPhRj:
  477|      3|void PeFile::Reloc::finish(byte *(&result_ptr), unsigned &result_size) {
  478|      3|    assert(start_did_alloc);
  ------------------
  |  |  512|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  479|       |    // sort in-place relocs
  480|      3|    upx_qsort(
  ------------------
  |  |  245|      3|#define upx_qsort ::qsort
  ------------------
  481|      3|        raw_index_bytes(start_buf, RELOC_INPLACE_OFFSET, mem_size(RELOC_ENTRY_SIZE, counts[0])),
  482|      3|        counts[0], RELOC_ENTRY_SIZE, reloc_entry_compare);
  483|       |
  484|      3|    auto finish_block = [](SPAN_S(BaseReloc) rel) -> byte * {
  485|      3|        unsigned sob = rel->size_of_block;
  486|      3|        assert(sob >= 10 && (sob & 1) == 0);
  487|      3|        auto end = SPAN_TYPE_CAST(byte, rel) + sob;
  488|      3|        while ((sob & 3) != 0) { // UPX: we want align by 4 here
  489|      3|            *end++ = 0;          // clear byte (i.e. write IMAGE_REL_BASED_IGNORE)
  490|      3|            sob += 1;
  491|      3|        }
  492|      3|        rel->size_of_block = sob;
  493|      3|        return raw_bytes(end, 0);
  494|      3|    };
  495|       |
  496|      3|    rb.reset();
  497|      3|    unsigned prev_pos = 0;
  498|      3|    unsigned current_page = 0;
  499|  23.8k|    for (unsigned ic = 0; ic < counts[0]; ic++) {
  ------------------
  |  Branch (499:27): [True: 23.8k, False: 3]
  ------------------
  500|  23.8k|        const auto entry_ptr = start_buf + mem_size(RELOC_ENTRY_SIZE, ic, RELOC_INPLACE_OFFSET);
  501|  23.8k|        unsigned pos, reloc_type;
  502|  23.8k|        reloc_entry_decode(entry_ptr, &pos, &reloc_type);
  503|  23.8k|        if (ic > 0 && pos == prev_pos) {
  ------------------
  |  Branch (503:13): [True: 23.8k, False: 3]
  |  Branch (503:23): [True: 0, False: 23.8k]
  ------------------
  504|      0|            if (ALWAYS_CHECK_STRICT_RELOCS)
  ------------------
  |  Branch (504:17): [True: 0, Folded]
  ------------------
  505|      0|                throwCantPack("duplicate relocs");
  506|      0|            else if (!opt->force)
  ------------------
  |  Branch (506:22): [True: 0, False: 0]
  ------------------
  507|      0|                throwCantPack("duplicate relocs (try --force)");
  508|      0|        }
  509|  23.8k|        prev_pos = pos;
  510|  23.8k|        if (ic == 0 || pos - current_page >= 0x1000) {
  ------------------
  |  Branch (510:13): [True: 3, False: 23.8k]
  |  Branch (510:24): [True: 228, False: 23.6k]
  ------------------
  511|    231|            current_page = pos & ~0xfff; // page start
  512|       |            // prepare next block for writing
  513|    231|            byte *next_rb = (rb.rel == nullptr) ? start : finish_block(rb.rel);
  ------------------
  |  Branch (513:29): [True: 3, False: 228]
  ------------------
  514|    231|            rb.rel = (BaseReloc *) next_rb;
  515|    231|            rb.rel1 = (LE16 *) (next_rb + 8);
  516|    231|            rb.rel->virtual_address = current_page;
  517|    231|            rb.rel->size_of_block = 8;
  518|    231|        }
  519|       |        // check for in-place overflow
  520|  23.8k|        if (ptr_diff_bytes(rb.rel1, entry_ptr) >= 0) {
  ------------------
  |  Branch (520:13): [True: 0, False: 23.8k]
  ------------------
  521|       |            // info: if this is indeed a valid file we must increase RELOC_INPLACE_OFFSET
  522|      0|            throwCantPack("too many inplace relocs");
  523|      0|        }
  524|       |        // write LE16 IMAGE_BASE_RELOCATION relocation
  525|  23.8k|        *rb.rel1++ = (reloc_type << 12) | (pos & 0xfff);
  526|  23.8k|        rb.rel->size_of_block += 2;
  527|  23.8k|    }
  528|      3|    result_size = 0; // result_size can be 0 in 64-bit mode
  529|      3|    if (rb.rel != nullptr)
  ------------------
  |  Branch (529:9): [True: 3, False: 0]
  ------------------
  530|      3|        result_size = ptr_udiff_bytes(finish_block(rb.rel), start);
  531|      3|    assert((result_size & 3) == 0);
  ------------------
  |  |  512|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|       |    // transfer ownership
  533|      3|    assert(start_did_alloc);
  ------------------
  |  |  512|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  534|      0|    result_ptr = start;
  535|      3|    start_did_alloc = false;
  536|      3|#if DEBUG || 1 // safety, as we are really finished
  537|      3|    ptr_invalidate_and_poison(start);
  538|      3|    start_size_in_bytes = 0;
  539|      3|    SPAN_INVALIDATE(start_buf);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  540|      3|    SPAN_INVALIDATE(rb.rel);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  541|      3|    SPAN_INVALIDATE(rb.rel1);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  542|      3|    rb.count = 0xdeaddead;
  543|      3|#endif
  544|      3|}
_ZN6PeFile6IDSIZEEj:
  754|    346|LE32 &PeFile::IDSIZE(unsigned x) { return iddirs[x].size; }
_ZN6PeFile6IDADDREj:
  755|    258|LE32 &PeFile::IDADDR(unsigned x) { return iddirs[x].vaddr; }
_ZN6PeFile6ODSIZEEj:
  756|    345|LE32 &PeFile::ODSIZE(unsigned x) { return oddirs[x].size; }
_ZN6PeFile6ODADDREj:
  757|    402|LE32 &PeFile::ODADDR(unsigned x) { return oddirs[x].vaddr; }
_ZN6PeFile8ResourceC2EPKhS2_S2_:
 1733|     57|PeFile::Resource::Resource(const byte *p, const byte *ibufstart_, const byte *ibufend_) {
 1734|     57|    ibufstart = ibufstart_;
 1735|     57|    ibufend = ibufend_;
 1736|     57|    newstart = nullptr;
 1737|     57|    init(p);
 1738|     57|}
_ZN6PeFile8ResourceD2Ev:
 1740|     39|PeFile::Resource::~Resource() noexcept {
 1741|     39|    if (root) {
  ------------------
  |  Branch (1741:9): [True: 21, False: 18]
  ------------------
 1742|     21|        destroy(root, 0);
 1743|     21|        root = nullptr;
 1744|     21|    }
 1745|     39|}
_ZNK6PeFile8Resource7dirsizeEv:
 1747|    216|unsigned PeFile::Resource::dirsize() const { return ALIGN_UP(dsize + ssize, 4u); }
  ------------------
  |  |  530|    216|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
_ZN6PeFile8Resource4nextEv:
 1749|     84|bool PeFile::Resource::next() {
 1750|       |    // wow, builtin autorewind... :-)
 1751|     84|    current = current ? current->next : head;
  ------------------
  |  Branch (1751:15): [True: 45, False: 39]
  ------------------
 1752|     84|    return current != nullptr;
 1753|     84|}
_ZNK6PeFile8Resource4sizeEv:
 1759|     83|unsigned PeFile::Resource::size() const { return ALIGN_UP(current->data.size, 4u); }
  ------------------
  |  |  530|     83|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
_ZNK6PeFile8Resource4offsEv:
 1763|    171|unsigned PeFile::Resource::offs() const { return current->data.offset; }
_ZN6PeFile8Resource7newoffsEv:
 1765|     31|unsigned &PeFile::Resource::newoffs() { return current->newoffset; }
_ZN6PeFile8Resource4initEPKh:
 1778|     57|void PeFile::Resource::init(const byte *res) {
 1779|     57|    COMPILE_TIME_ASSERT(sizeof(res_dir_entry) == 8)
  ------------------
  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1780|     57|    COMPILE_TIME_ASSERT(sizeof(res_dir) == 16 + 8)
  ------------------
  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1781|     57|    COMPILE_TIME_ASSERT(sizeof(res_data) == 16)
  ------------------
  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1782|     57|    COMPILE_TIME_ASSERT_ALIGNED1(res_dir_entry)
  ------------------
  |  |  465|     57|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|     57|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|     57|    {                                                                                              \
  |  |  |  |  |  |  448|     57|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|     57|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|     57|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|     57|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|     57|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|     57|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|     57|        };                                                                                         \
  |  |  |  |  |  |  455|     57|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|     57|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|     57|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|     57|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|     57|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|     57|    }
  |  |  |  |  ------------------
  |  |  |  |  463|     57|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|     57|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1783|     57|    COMPILE_TIME_ASSERT_ALIGNED1(res_dir)
  ------------------
  |  |  465|     57|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|     57|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|     57|    {                                                                                              \
  |  |  |  |  |  |  448|     57|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|     57|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|     57|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|     57|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|     57|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|     57|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|     57|        };                                                                                         \
  |  |  |  |  |  |  455|     57|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|     57|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|     57|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|     57|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|     57|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|     57|    }
  |  |  |  |  ------------------
  |  |  |  |  463|     57|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|     57|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1784|     57|    COMPILE_TIME_ASSERT_ALIGNED1(res_data)
  ------------------
  |  |  465|     57|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|     57|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|     57|    {                                                                                              \
  |  |  |  |  |  |  448|     57|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|     57|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|     57|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|     57|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|     57|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|     57|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|     57|        };                                                                                         \
  |  |  |  |  |  |  455|     57|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|     57|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|     57|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|     57|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|     57|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|     57|    }
  |  |  |  |  ------------------
  |  |  |  |  463|     57|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|     57|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|     57|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     57|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1785|       |
 1786|     57|    start = res;
 1787|     57|    root = head = current = nullptr;
 1788|     57|    dsize = ssize = 0;
 1789|     57|    check((const res_dir *) start, 0);
 1790|     57|    root = convert(start, nullptr, 0);
 1791|     57|}
_ZN6PeFile8Resource5checkEPKNS0_7res_dirEj:
 1793|    192|void PeFile::Resource::check(const res_dir *node, unsigned level) {
 1794|    192|    ibufcheck(node, sizeof(*node));
 1795|    192|    int ic = node->identr + node->namedentr;
 1796|    192|    if (ic == 0)
  ------------------
  |  Branch (1796:9): [True: 23, False: 169]
  ------------------
 1797|     23|        return;
 1798|    688|    for (const res_dir_entry *rde = node->entries; --ic >= 0; rde++) {
  ------------------
  |  Branch (1798:52): [True: 525, False: 163]
  ------------------
 1799|    525|        ibufcheck(rde, sizeof(*rde));
 1800|    525|        if (((rde->child & 0x80000000) == 0) ^ (level == 2))
  ------------------
  |  Branch (1800:13): [True: 6, False: 519]
  ------------------
 1801|      6|            throwCantPack("unsupported resource structure");
 1802|    519|        else if (level != 2)
  ------------------
  |  Branch (1802:18): [True: 135, False: 384]
  ------------------
 1803|    135|            check((const res_dir *) (start + (rde->child & 0x7fffffff)), level + 1);
 1804|    525|    }
 1805|    169|}
_ZN6PeFile8Resource9ibufcheckEPKvj:
 1807|    929|void PeFile::Resource::ibufcheck(const void *m, unsigned siz) {
 1808|    929|    if (m < ibufstart || m > ibufend - siz)
  ------------------
  |  Branch (1808:9): [True: 0, False: 929]
  |  Branch (1808:26): [True: 8, False: 921]
  ------------------
 1809|      8|        throwCantUnpack("corrupted resources");
 1810|    929|}
_ZN6PeFile8Resource7convertEPKvPNS0_9upx_rnodeEj:
 1813|    210|                                                       unsigned level) {
 1814|    210|    if (level == 3) {
  ------------------
  |  Branch (1814:9): [True: 62, False: 148]
  ------------------
 1815|     62|        const res_data *node = ACC_STATIC_CAST(const res_data *, rnode);
  ------------------
  |  | 1472|     62|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1816|     62|        ibufcheck(node, sizeof(*node));
 1817|     62|        upx_rleaf *leaf = new upx_rleaf;
 1818|     62|        leaf->id = 0;
 1819|     62|        leaf->name = nullptr;
 1820|     62|        leaf->parent = parent;
 1821|     62|        leaf->next = head;
 1822|     62|        leaf->newoffset = 0;
 1823|     62|        leaf->data = *node;
 1824|       |
 1825|     62|        head = leaf; // append node to a linked list for traversal
 1826|     62|        dsize += sizeof(res_data);
 1827|     62|        return leaf;
 1828|     62|    }
 1829|       |
 1830|    148|    const res_dir *node = ACC_STATIC_CAST(const res_dir *, rnode);
  ------------------
  |  | 1472|    148|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1831|    148|    ibufcheck(node, sizeof(*node));
 1832|    148|    int ic = node->identr + node->namedentr;
 1833|    148|    if (ic == 0)
  ------------------
  |  Branch (1833:9): [True: 22, False: 126]
  ------------------
 1834|     22|        return nullptr;
 1835|       |
 1836|    126|    upx_rbranch *branch = new upx_rbranch;
 1837|    126|    branch->id = 0;
 1838|    126|    branch->name = nullptr;
 1839|    126|    branch->parent = parent;
 1840|    126|    branch->children = New0(upx_rnode *, ic);
  ------------------
  |  |  117|    126|#define New0(type, n) (New0T<type>((n)))
  ------------------
 1841|    126|    branch->nc = ic;
 1842|    126|    branch->data = *node;
 1843|    126|    if (!root)         // first one
  ------------------
  |  Branch (1843:9): [True: 30, False: 96]
  ------------------
 1844|     30|        root = branch; // prevent leak if xcheck throws (hacked unpack or test)
 1845|       |
 1846|    288|    for (const res_dir_entry *rde = node->entries + ic - 1; --ic >= 0; rde--) {
  ------------------
  |  Branch (1846:61): [True: 162, False: 126]
  ------------------
 1847|    162|        upx_rnode *child = convert(start + (rde->child & 0x7fffffff), branch, level + 1);
 1848|    162|        branch->children[ic] = child;
 1849|    162|        xcheck(child);
 1850|    162|        child->id = rde->tnl;
 1851|    162|        if (child->id & 0x80000000) {
  ------------------
  |  Branch (1851:13): [True: 2, False: 160]
  ------------------
 1852|      2|            const byte *p = start + (child->id & 0x7fffffff);
 1853|      2|            ibufcheck(p, 2);
 1854|      2|            const unsigned len = 2 + 2 * get_le16(p);
 1855|      2|            ibufcheck(p, len);
 1856|      2|            child->name = New(byte, len);
  ------------------
  |  |  101|      2|#define New(type, n) (NewT<type>((n)))
  ------------------
 1857|      2|            memcpy(child->name, p, len); // copy unicode string
 1858|      2|            ssize += len;                // size of unicode strings
 1859|      2|        }
 1860|    162|    }
 1861|    126|    dsize += node->Sizeof();
 1862|    126|    return branch;
 1863|    148|}
_ZN6PeFile8Resource5buildEPKNS0_9upx_rnodeERjS4_j:
 1866|    108|                             unsigned level) {
 1867|    108|    if (level == 3) {
  ------------------
  |  Branch (1867:9): [True: 35, False: 73]
  ------------------
 1868|     35|        if (bpos + sizeof(res_data) > dirsize())
  ------------------
  |  Branch (1868:13): [True: 0, False: 35]
  ------------------
 1869|      0|            throwCantUnpack("corrupted resources");
 1870|       |
 1871|     35|        res_data *l = (res_data *) (newstart + bpos);
 1872|     35|        const upx_rleaf *leaf = (const upx_rleaf *) node;
 1873|     35|        *l = leaf->data;
 1874|     35|        if (leaf->newoffset)
  ------------------
  |  Branch (1874:13): [True: 22, False: 13]
  ------------------
 1875|     22|            l->offset = leaf->newoffset;
 1876|     35|        bpos += sizeof(*l);
 1877|     35|        return;
 1878|     35|    }
 1879|     73|    if (bpos + sizeof(res_dir) > dirsize())
  ------------------
  |  Branch (1879:9): [True: 0, False: 73]
  ------------------
 1880|      0|        throwCantUnpack("corrupted resources");
 1881|       |
 1882|     73|    res_dir *const b = (res_dir *) (newstart + bpos);
 1883|     73|    const upx_rbranch *branch = (const upx_rbranch *) node;
 1884|     73|    *b = branch->data;
 1885|     73|    bpos += b->Sizeof();
 1886|     73|    res_dir_entry *be = b->entries;
 1887|    166|    for (unsigned ic = 0; ic < branch->nc; ic++, be++) {
  ------------------
  |  Branch (1887:27): [True: 93, False: 73]
  ------------------
 1888|     93|        xcheck(branch->children[ic]);
 1889|     93|        be->tnl = branch->children[ic]->id;
 1890|     93|        be->child = bpos + ((level < 2) ? 0x80000000 : 0);
  ------------------
  |  Branch (1890:29): [True: 58, False: 35]
  ------------------
 1891|       |
 1892|     93|        const byte *p;
 1893|     93|        if ((p = branch->children[ic]->name) != nullptr) {
  ------------------
  |  Branch (1893:13): [True: 0, False: 93]
  ------------------
 1894|      0|            be->tnl = spos + 0x80000000;
 1895|      0|            if (spos + get_le16(p) * 2 + 2 > dirsize())
  ------------------
  |  Branch (1895:17): [True: 0, False: 0]
  ------------------
 1896|      0|                throwCantUnpack("corrupted resources");
 1897|      0|            memcpy(newstart + spos, p, get_le16(p) * 2 + 2);
 1898|      0|            spos += get_le16(p) * 2 + 2;
 1899|      0|        }
 1900|       |
 1901|     93|        build(branch->children[ic], bpos, spos, level + 1);
 1902|     93|    }
 1903|     73|}
_ZN6PeFile8Resource5buildEv:
 1905|     15|byte *PeFile::Resource::build() {
 1906|     15|    mb_start.dealloc();
 1907|     15|    newstart = nullptr;
 1908|     15|    if (dirsize()) {
  ------------------
  |  Branch (1908:9): [True: 15, False: 0]
  ------------------
 1909|     15|        mb_start.alloc(dirsize());
 1910|     15|        newstart = static_cast<byte *>(mb_start.getVoidPtr());
 1911|     15|        unsigned bpos = 0, spos = dsize;
 1912|     15|        build(root, bpos, spos, 0);
 1913|       |
 1914|       |        // dirsize() is 4 bytes aligned, so we may need to zero
 1915|       |        // up to 2 bytes to make valgrind happy
 1916|     15|        while (spos < dirsize())
  ------------------
  |  Branch (1916:16): [True: 0, False: 15]
  ------------------
 1917|      0|            newstart[spos++] = 0;
 1918|     15|    }
 1919|       |
 1920|     15|    return newstart;
 1921|     15|}
_ZN6PeFile8Resource7destroyEPNS0_9upx_rnodeEj:
 1923|    156|void PeFile::Resource::destroy(upx_rnode *node, unsigned level) noexcept {
 1924|    156|    xcheck_noexcept(node);
 1925|    156|    if (level == 3) {
  ------------------
  |  Branch (1925:9): [True: 53, False: 103]
  ------------------
 1926|     53|        upx_rleaf *leaf = ACC_STATIC_CAST(upx_rleaf *, node);
  ------------------
  |  | 1472|     53|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1927|     53|        delete[] leaf->name;
 1928|     53|        leaf->name = nullptr;
 1929|     53|        delete leaf;
 1930|    103|    } else {
 1931|    103|        upx_rbranch *branch = ACC_STATIC_CAST(upx_rbranch *, node);
  ------------------
  |  | 1472|    103|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1932|    103|        delete[] branch->name;
 1933|    103|        branch->name = nullptr;
 1934|    238|        for (int ic = branch->nc; --ic >= 0;)
  ------------------
  |  Branch (1934:35): [True: 135, False: 103]
  ------------------
 1935|    135|            if (branch->children[ic] != nullptr)
  ------------------
  |  Branch (1935:17): [True: 135, False: 0]
  ------------------
 1936|    135|                destroy(branch->children[ic], level + 1);
 1937|    103|        delete[] branch->children;
 1938|    103|        branch->children = nullptr;
 1939|    103|        delete branch;
 1940|    103|    }
 1941|    156|}
_ZN6PeFile13rebuildRelocsERN5XSpan4SpanIhEEjjyb:
 2993|     65|                           upx_uint64_t imagebase, bool exact) {
 2994|     65|    assert(bits == 32 || bits == 64);
  ------------------
  |  |  512|     65|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    130|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 65, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59, False: 6]
  |  |  |  |  |  Branch (1558:47): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2995|     65|    if (!ODADDR(PEDIR_BASERELOC) || !ODSIZE(PEDIR_BASERELOC) ||
  ------------------
  |  Branch (2995:9): [True: 62, False: 3]
  |  Branch (2995:37): [True: 0, False: 3]
  ------------------
 2996|      3|        (flags & IMAGE_FILE_RELOCS_STRIPPED))
  ------------------
  |  Branch (2996:9): [True: 0, False: 3]
  ------------------
 2997|     62|        return;
 2998|       |
 2999|      3|    if (ODSIZE(PEDIR_BASERELOC) == 8) { // some tricky dlls use this
  ------------------
  |  Branch (2999:9): [True: 0, False: 3]
  ------------------
 3000|      0|        omemcpy(obuf + (ODADDR(PEDIR_BASERELOC) - rvamin), "\x0\x0\x0\x0\x8\x0\x0\x0", 8);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3001|      0|        return;
 3002|      0|    }
 3003|       |
 3004|       |    // Comments at end of this file say that compressed relocs are optional.
 3005|       |    // Try to detect their presence.  There might be no compressed relocs.
 3006|      3|#if WITH_XSPAN >= 2 && 1
 3007|      3|    const size_t headway = extra_info.size_bytes();
 3008|       |#else
 3009|       |    // FIXME: last 4 bytes of extra_info are the file offset of extra_info,
 3010|       |    // so they should be excluded from the count of data bytes.
 3011|       |    // Something is peculiar unless WITH_XSPAN >= 2.
 3012|       |    // Also, optional icondir_count is strange following compressed relocs.
 3013|       |    const size_t headway = 9;
 3014|       |#endif
 3015|      3|    unsigned orig_crelocs = 0;
 3016|      3|    byte big = 0;
 3017|      3|    if (headway >= 8) {
  ------------------
  |  Branch (3017:9): [True: 3, False: 0]
  ------------------
 3018|      3|        orig_crelocs = mem_size(1, get_le32(extra_info));
 3019|      3|        extra_info += 4;
 3020|      3|        if (headway >= 9) {
  ------------------
  |  Branch (3020:13): [True: 3, False: 0]
  ------------------
 3021|      3|            big = extra_info[0];
 3022|      3|            extra_info += 1;
 3023|      3|        }
 3024|      3|    }
 3025|       |
 3026|      3|    SPAN_S_VAR(const byte, rdata, obuf + orig_crelocs, obuf);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3027|      3|    MemBuffer mb_wrkmem;
 3028|      3|    unsigned relocnum = unoptimizeReloc(rdata, mb_wrkmem, obuf, orig_crelocs, bits, true);
 3029|       |
 3030|       |    // 16-bit relocations
 3031|      3|    unsigned r16 = 0;
 3032|      3|    if (big & 6) { // count 16-bit relocations
  ------------------
  |  Branch (3032:9): [True: 0, False: 3]
  ------------------
 3033|      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__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3034|      0|        while (*q++)
  ------------------
  |  Branch (3034:16): [True: 0, False: 0]
  ------------------
 3035|      0|            r16++;
 3036|      0|        if ((big & 6) == 6)
  ------------------
  |  Branch (3036:13): [True: 0, False: 0]
  ------------------
 3037|      0|            while (*++q)
  ------------------
  |  Branch (3037:20): [True: 0, False: 0]
  ------------------
 3038|      0|                r16++;
 3039|      0|    }
 3040|      3|    Reloc rel(relocnum + r16);
 3041|      3|    if (big & 6) { // add 16-bit relocations
  ------------------
  |  Branch (3041:9): [True: 0, False: 3]
  ------------------
 3042|      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__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3043|      0|        while (*q)
  ------------------
  |  Branch (3043:16): [True: 0, False: 0]
  ------------------
 3044|      0|            rel.add_reloc(*q++ + rvamin, (big & 4) ? IMAGE_REL_BASED_LOW : IMAGE_REL_BASED_HIGH);
  ------------------
  |  Branch (3044:42): [True: 0, False: 0]
  ------------------
 3045|      0|        if ((big & 6) == 6)
  ------------------
  |  Branch (3045:13): [True: 0, False: 0]
  ------------------
 3046|      0|            while (*++q)
  ------------------
  |  Branch (3046:20): [True: 0, False: 0]
  ------------------
 3047|      0|                rel.add_reloc(*q + rvamin, IMAGE_REL_BASED_HIGH);
 3048|       |        // rdata = (const byte *) raw_bytes(q, 0); // advance rdata
 3049|      0|    }
 3050|       |
 3051|      3|    SPAN_S_VAR(byte, const wrkmem, mb_wrkmem);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3052|  23.8k|    for (unsigned ic = 0; ic < relocnum; ic++) {
  ------------------
  |  Branch (3052:27): [True: 23.8k, False: 3]
  ------------------
 3053|  23.8k|        OPTR_VAR(byte, const p, obuf + get_le32(wrkmem + sizeof(LE32) * ic));
  ------------------
  |  |   42|  23.8k|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|  23.8k|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  23.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|  23.8k|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|  23.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|  23.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|  23.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|  23.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|  23.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3054|  23.8k|        if (bits == 32)
  ------------------
  |  Branch (3054:13): [True: 13.6k, False: 10.1k]
  ------------------
 3055|  13.6k|            set_le32(p, get_le32(p) + imagebase + rvamin);
 3056|  10.1k|        else
 3057|  10.1k|            set_le64(p, get_le64(p) + imagebase + rvamin);
 3058|  23.8k|        rel.add_reloc(rvamin + get_le32(wrkmem + sizeof(LE32) * ic),
 3059|  23.8k|                      bits == 32 ? IMAGE_REL_BASED_HIGHLOW : IMAGE_REL_BASED_DIR64);
  ------------------
  |  Branch (3059:23): [True: 13.6k, False: 10.1k]
  ------------------
 3060|  23.8k|    }
 3061|      3|    if (exact) {
  ------------------
  |  Branch (3061:9): [True: 0, False: 3]
  ------------------
 3062|      0|        mb_wrkmem.dealloc();
 3063|      0|        return;
 3064|      0|    }
 3065|      3|    rel.finish(oxrelocs, soxrelocs);
 3066|       |
 3067|      3|    omemcpy(obuf + (ODADDR(PEDIR_BASERELOC) - rvamin), oxrelocs, soxrelocs);
  ------------------
  |  |   63|      3|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      3|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3068|      3|    delete[] oxrelocs;
 3069|      3|    oxrelocs = nullptr;
 3070|      3|    mb_wrkmem.dealloc();
 3071|       |
 3072|      3|    ODSIZE(PEDIR_BASERELOC) = soxrelocs;
 3073|       |    // FIXME?:  ODADDR(PEDIR_BASERELOC) for compressed relocs?
 3074|      3|}
_ZN6PeFile14rebuildExportsEv:
 3076|     65|void PeFile::rebuildExports() {
 3077|     65|    if (ODSIZE(PEDIR_EXPORT) == 0 || ODADDR(PEDIR_EXPORT) == IDADDR(PEDIR_EXPORT))
  ------------------
  |  Branch (3077:9): [True: 65, False: 0]
  |  Branch (3077:38): [True: 0, False: 0]
  ------------------
 3078|     65|        return; // nothing to do
 3079|       |
 3080|      0|    opt->win32_pe.compress_exports = 0;
 3081|      0|    Export xport((char *) (byte *) ibuf - isection[2].vaddr);
 3082|      0|    processExports(&xport);
 3083|      0|    processExports(&xport, ODADDR(PEDIR_EXPORT));
 3084|      0|    omemcpy(obuf + (ODADDR(PEDIR_EXPORT) - rvamin), oexport, soexport);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3085|      0|}
_ZN6PeFile10rebuildTlsEv:
 3087|     65|void PeFile::rebuildTls() {
 3088|       |    // this is an easy one : just do nothing ;-)
 3089|     65|}
_ZN6PeFile16rebuildResourcesERN5XSpan4SpanIhEEj:
 3102|     65|void PeFile::rebuildResources(SPAN_S(byte) & extra_info, unsigned lastvaddr) {
 3103|     65|    if (ODSIZE(PEDIR_RESOURCE) == 0 || IDSIZE(PEDIR_RESOURCE) == 0)
  ------------------
  |  Branch (3103:9): [True: 3, False: 62]
  |  Branch (3103:40): [True: 2, False: 60]
  ------------------
 3104|      5|        return;
 3105|       |
 3106|     60|    icondir_count = get_le16(extra_info);
 3107|     60|    extra_info += 2;
 3108|       |
 3109|     60|    const unsigned vaddr = IDADDR(PEDIR_RESOURCE);
 3110|       |
 3111|     60|    if (vaddr < lastvaddr || (vaddr - lastvaddr) > ibuf.getSize())
  ------------------
  |  Branch (3111:9): [True: 1, False: 59]
  |  Branch (3111:30): [True: 2, False: 57]
  ------------------
 3112|      3|        throwCantUnpack("corrupted PE header");
 3113|       |
 3114|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 3115|       |    //// const byte *const r = ibuf.raw_bytes(0) - lastvaddr;
 3116|     57|    const VPtr<const byte> r{ibuf, lastvaddr};
 3117|     57|    Resource res(raw_bytes(r + vaddr, 0), ibuf, ibuf + ibuf.getSize());
 3118|    108|    while (res.next())
  ------------------
  |  Branch (3118:12): [True: 51, False: 57]
  ------------------
 3119|     51|        if (res.offs() > vaddr) {
  ------------------
  |  Branch (3119:13): [True: 32, False: 19]
  ------------------
 3120|     32|            ICHECK(r + (res.offs() - 4), 4);
  ------------------
  |  |   57|     32|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3121|     32|            unsigned origoffs = get_le32(r + (res.offs() - 4));
 3122|     32|            res.newoffs() = origoffs;
 3123|     32|            ICHECK(r + res.offs(), res.size());
  ------------------
  |  |   57|     32|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3124|     32|            omemcpy(obuf + (origoffs - rvamin), r + res.offs(), res.size());
  ------------------
  |  |   63|     32|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|     32|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3125|     32|            if (icondir_count && res.itype() == RT_GROUP_ICON) {
  ------------------
  |  Branch (3125:17): [True: 0, False: 32]
  |  Branch (3125:34): [True: 0, False: 0]
  ------------------
 3126|      0|                set_le16(obuf + (origoffs - rvamin + 4), icondir_count);
 3127|      0|                icondir_count = 0;
 3128|      0|            }
 3129|     32|        }
 3130|     57|    if (res.dirsize()) {
  ------------------
  |  Branch (3130:9): [True: 15, False: 42]
  ------------------
 3131|     15|        byte *p = res.build();
 3132|     15|        OCHECK(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin), 16);
  ------------------
  |  |   58|     15|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 3133|       |        // write back when the original is zeroed
 3134|     15|        if (get_le32(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin + 12)) == 0)
  ------------------
  |  Branch (3134:13): [True: 15, False: 0]
  ------------------
 3135|     15|            omemcpy(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin), p, res.dirsize());
  ------------------
  |  |   63|     15|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|     15|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3136|     15|    }
 3137|     57|}
_ZN6PeFile10canUnpack0Ejjjj:
 3407|    324|int PeFile::canUnpack0(unsigned max_sections, unsigned objs, unsigned ih_entry, unsigned ih_size) {
 3408|    324|    const unsigned min_sections = isefi ? 2 : 3;
  ------------------
  |  Branch (3408:35): [True: 7, False: 317]
  ------------------
 3409|    324|    if (objs < min_sections)
  ------------------
  |  Branch (3409:9): [True: 1, False: 323]
  ------------------
 3410|      1|        return -1;
 3411|    323|    mb_isection.alloc(mem_size(sizeof(pe_section_t), objs));
 3412|    323|    isection = SPAN_S_MAKE(pe_section_t, mb_isection); // => isection now is a SPAN_S
  ------------------
  |  |  210|    323|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|    323|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|    323|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|    323|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    323|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    323|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    323|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    323|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3413|    323|    fi->seek(pe_offset + ih_size, SEEK_SET);
 3414|    323|    fi->readx(isection, sizeof(pe_section_t) * objs);
 3415|    323|    bool is_packed = (objs <= max_sections && (IDSIZE(15) || ih_entry > isection[1].vaddr));
  ------------------
  |  Branch (3415:23): [True: 284, False: 39]
  |  Branch (3415:48): [True: 147, False: 137]
  |  Branch (3415:62): [True: 113, False: 24]
  ------------------
 3416|    323|    bool found_ph = false;
 3417|    323|    if (memcmp(isection[0].name, "UPX", 3) == 0) {
  ------------------
  |  Branch (3417:9): [True: 156, False: 167]
  ------------------
 3418|       |        // current version
 3419|    156|        fi->seek(isection[1].rawdataptr - 64, SEEK_SET);
 3420|    156|        found_ph = readPackHeader(1024);
 3421|    156|        if (!found_ph) {
  ------------------
  |  Branch (3421:13): [True: 23, False: 133]
  ------------------
 3422|       |            // old versions
 3423|     23|            fi->seek(isection[2].rawdataptr, SEEK_SET);
 3424|     23|            found_ph = readPackHeader(1024);
 3425|     23|        }
 3426|    156|    }
 3427|    323|    if (is_packed && found_ph)
  ------------------
  |  Branch (3427:9): [True: 249, False: 74]
  |  Branch (3427:22): [True: 134, False: 115]
  ------------------
 3428|    134|        return true;
 3429|    189|    if (!is_packed && !found_ph)
  ------------------
  |  Branch (3429:9): [True: 28, False: 161]
  |  Branch (3429:23): [True: 25, False: 3]
  ------------------
 3430|     25|        return -1;
 3431|    164|    if (is_packed && ih_entry < isection[2].vaddr) {
  ------------------
  |  Branch (3431:9): [True: 115, False: 49]
  |  Branch (3431:22): [True: 62, False: 53]
  ------------------
 3432|     62|        byte buf[256];
 3433|     62|        bool x = false;
 3434|       |
 3435|     62|        memset(buf, 0, sizeof(buf));
 3436|     62|        try {
 3437|     62|            fi->seek(ih_entry - isection[1].vaddr + isection[1].rawdataptr, SEEK_SET);
 3438|     62|            fi->read(buf, sizeof(buf));
 3439|       |
 3440|       |            // FIXME this is for x86
 3441|     62|            static const byte magic[] = "\x8b\x1e\x83\xee\xfc\x11\xdb";
 3442|       |            // mov ebx, [esi];    sub esi, -4;    adc ebx,ebx
 3443|       |
 3444|     62|            int offset = find(buf, sizeof(buf), magic, 7);
 3445|     62|            if (offset >= 0 && find(buf + offset + 1, sizeof(buf) - offset - 1, magic, 7) >= 0)
  ------------------
  |  Branch (3445:17): [True: 15, False: 47]
  |  Branch (3445:32): [True: 7, False: 8]
  ------------------
 3446|      7|                x = true;
 3447|     62|        } catch (...) {
 3448|       |            // x = true;
 3449|     37|        }
 3450|     62|        if (x)
  ------------------
  |  Branch (3450:13): [True: 7, False: 55]
  ------------------
 3451|      7|            throwCantUnpack("file is modified/hacked/protected; take care!!!");
 3452|     55|        else
 3453|     55|            throwCantUnpack("file is possibly modified/hacked/protected; take care!");
 3454|      0|        return false; // not reached
 3455|     62|    }
 3456|       |
 3457|       |    // FIXME: what should we say here ?
 3458|       |    // throwCantUnpack("file is possibly modified/hacked/protected; take care!");
 3459|    102|    return false;
 3460|    164|}
_ZN6PeFileD2Ev:
 3466|  55.6k|PeFile::~PeFile() noexcept {
 3467|  55.6k|    oimpdlls = nullptr;
 3468|  55.6k|    delete[] oxrelocs;
 3469|  55.6k|    delete ilinker;
 3470|       |    // delete res;
 3471|  55.6k|}
_ZN8PeFile32C2EP9InputFile:
 3477|  27.6k|PeFile32::PeFile32(InputFile *f) : super(f) {
 3478|  27.6k|    COMPILE_TIME_ASSERT(sizeof(pe_header_t) == 248)
  ------------------
  |  |  266|  27.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  27.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 3479|  27.6k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_header_t)
  ------------------
  |  |  465|  27.6k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  27.6k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  27.6k|    {                                                                                              \
  |  |  |  |  |  |  448|  27.6k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  27.6k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  27.6k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  27.6k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  27.6k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  27.6k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  27.6k|        };                                                                                         \
  |  |  |  |  |  |  455|  27.6k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  27.6k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  27.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  27.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  27.6k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  27.6k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  27.6k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  27.6k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  27.6k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  27.6k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  27.6k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  27.6k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3480|       |
 3481|  27.6k|    sizeof_oh = sizeof_ih = sizeof(ih); // default with .ddirsentries == 16
 3482|  27.6k|    iddirs = ih.ddirs;
 3483|  27.6k|    oddirs = oh.ddirs;
 3484|  27.6k|}
_ZN8PeFile3212readPeHeaderEv:
 3488|    364|void PeFile32::readPeHeader() {
 3489|    364|    fi->readx(&ih, sizeof_ih);
 3490|    364|    unsigned nddirs = ih.ddirsentries;
 3491|    364|    if (nddirs > 16) {
  ------------------
  |  Branch (3491:9): [True: 240, False: 124]
  ------------------
 3492|       |        // throwCantPack("bad ih.ddirsentries %u", nddirs);
 3493|    240|        infoWarning("bad ih.ddirsentries %u -> 16", nddirs);
 3494|    240|        nddirs = 16;
 3495|    240|    }
 3496|    364|    sizeof_oh = sizeof_ih =
 3497|    364|        ((const char *) &ih.ddirs - (const char *) &ih) + nddirs * sizeof(ddirs_t);
 3498|    364|    const unsigned missing = (16 - nddirs) * sizeof(ddirs_t);
 3499|    364|    memset(&ih.ddirs[nddirs], 0, missing);
 3500|       |
 3501|    364|    if (31 < (unsigned) ih.subsystem) {
  ------------------
  |  Branch (3501:9): [True: 9, False: 355]
  ------------------
 3502|      9|        throwCantPack("bad ih.subsystem 0x%x", (unsigned) ih.subsystem);
 3503|      9|    }
 3504|    355|    isefi = ((1u << ih.subsystem) &
 3505|    355|             ((1u << IMAGE_SUBSYSTEM_EFI_APPLICATION) |
 3506|    355|              (1u << IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) |
 3507|    355|              (1u << IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER) | (1u << IMAGE_SUBSYSTEM_EFI_ROM))) != 0;
 3508|    355|    isdll = !isefi && (ih.flags & IMAGE_FILE_DLL) != 0;
  ------------------
  |  Branch (3508:13): [True: 344, False: 11]
  |  Branch (3508:23): [True: 92, False: 252]
  ------------------
 3509|    355|    use_dep_hack &= !isefi;
 3510|    355|    use_clear_dirty_stack &= !isefi;
 3511|    355|}
_ZN8PeFile326unpackEP10OutputFile:
 3519|    110|void PeFile32::unpack(OutputFile *fo) {
 3520|    110|    bool set_oft = getFormat() == UPX_F_WINCE_ARM;
  ------------------
  |  |  590|    110|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
 3521|    110|    unpack0<pe_header_t, LE32>(fo, ih, oh, 1U << 31, set_oft);
 3522|    110|}
_ZN8PeFile329canUnpackEv:
 3524|  27.6k|tribool PeFile32::canUnpack() {
 3525|  27.6k|    if (!canPack()) // this calls readFileHeader() and readPeHeader()
  ------------------
  |  Branch (3525:9): [True: 27.3k, False: 280]
  ------------------
 3526|  27.3k|        return false;
 3527|    280|    return canUnpack0(getFormat() == UPX_F_WINCE_ARM ? 4 : 3, ih.objects, ih.entry, sizeof_ih);
  ------------------
  |  |  590|    280|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
  |  Branch (3527:23): [True: 28, False: 252]
  ------------------
 3528|  27.6k|}
_ZN8PeFile64C2EP9InputFile:
 3544|  28.0k|PeFile64::PeFile64(InputFile *f) : super(f) {
 3545|  28.0k|    COMPILE_TIME_ASSERT(sizeof(pe_header_t) == 264)
  ------------------
  |  |  266|  28.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 3546|  28.0k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_header_t)
  ------------------
  |  |  465|  28.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  462|  28.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  447|  28.0k|    {                                                                                              \
  |  |  |  |  |  |  448|  28.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  449|  28.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  450|  28.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  451|  28.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  452|  28.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  453|  28.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  454|  28.0k|        };                                                                                         \
  |  |  |  |  |  |  455|  28.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  28.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  456|  28.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  266|  28.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  457|  28.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  458|  28.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  459|  28.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  460|  28.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  463|  28.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  28.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  464|  28.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  266|  28.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3547|       |
 3548|  28.0k|    sizeof_oh = sizeof_ih = sizeof(ih); // default with .ddirsentries == 16
 3549|  28.0k|    iddirs = ih.ddirs;
 3550|  28.0k|    oddirs = oh.ddirs;
 3551|  28.0k|}
_ZN8PeFile6412readPeHeaderEv:
 3555|    715|void PeFile64::readPeHeader() {
 3556|    715|    fi->readx(&ih, sizeof_ih);
 3557|    715|    unsigned nddirs = ih.ddirsentries;
 3558|    715|    if (nddirs > 16) {
  ------------------
  |  Branch (3558:9): [True: 611, False: 104]
  ------------------
 3559|       |        // throwCantPack("bad ih.ddirsentries %u", nddirs);
 3560|    611|        infoWarning("bad ih.ddirsentries %u -> 16", nddirs);
 3561|    611|        nddirs = 16;
 3562|    611|    }
 3563|    715|    sizeof_oh = sizeof_ih =
 3564|    715|        ((const char *) &ih.ddirs - (const char *) &ih) + nddirs * sizeof(ddirs_t);
 3565|    715|    const unsigned missing = (16 - nddirs) * sizeof(ddirs_t);
 3566|    715|    memset(&ih.ddirs[nddirs], 0, missing);
 3567|       |
 3568|    715|    if (31 < (unsigned) ih.subsystem) {
  ------------------
  |  Branch (3568:9): [True: 7, False: 708]
  ------------------
 3569|      7|        throwCantPack("bad ih.subsystem 0x%x", (unsigned) ih.subsystem);
 3570|      7|    }
 3571|    708|    isefi = ((1u << ih.subsystem) &
 3572|    708|             ((1u << IMAGE_SUBSYSTEM_EFI_APPLICATION) |
 3573|    708|              (1u << IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) |
 3574|    708|              (1u << IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER) | (1u << IMAGE_SUBSYSTEM_EFI_ROM))) != 0;
 3575|    708|    isdll = !isefi && (ih.flags & IMAGE_FILE_DLL) != 0;
  ------------------
  |  Branch (3575:13): [True: 661, False: 47]
  |  Branch (3575:23): [True: 167, False: 494]
  ------------------
 3576|    708|    use_dep_hack &= !isefi;
 3577|    708|    use_clear_dirty_stack &= !isefi;
 3578|    708|}
_ZN8PeFile646unpackEP10OutputFile:
 3584|     24|void PeFile64::unpack(OutputFile *fo) { unpack0<pe_header_t, LE64>(fo, ih, oh, 1ULL << 63, false); }
_ZN8PeFile649canUnpackEv:
 3586|  28.0k|tribool PeFile64::canUnpack() {
 3587|  28.0k|    if (!canPack()) // this calls readFileHeader() and readPeHeader()
  ------------------
  |  Branch (3587:9): [True: 27.6k, False: 385]
  ------------------
 3588|  27.6k|        return false;
 3589|    385|    return canUnpack0(3, ih.objects, ih.entry, sizeof_ih);
 3590|  28.0k|}
pefile.cpp:_ZL18reloc_entry_encodeN5XSpan9PtrOrSpanIhEEjj:
  347|  23.8k|static void reloc_entry_encode(SPAN_P(byte) buf, unsigned pos, unsigned reloc_type) {
  348|  23.8k|    if (reloc_type == 0 || reloc_type >= 16)
  ------------------
  |  Branch (348:9): [True: 0, False: 23.8k]
  |  Branch (348:28): [True: 0, False: 23.8k]
  ------------------
  349|      0|        throwCantPack("bad reloc_type %#x %u", pos, reloc_type);
  350|  23.8k|    set_ne32(buf, pos);
  351|  23.8k|    buf[4] = (upx_uint8_t) reloc_type;
  352|  23.8k|}
pefile.cpp:_ZL19reloc_entry_comparePKvS0_:
  358|   152k|static int __acc_cdecl_qsort reloc_entry_compare(const void *a, const void *b) {
  359|   152k|    const unsigned pos1 = get_ne32(a);
  360|   152k|    const unsigned pos2 = get_ne32(b);
  361|   152k|    if (pos1 != pos2)
  ------------------
  |  Branch (361:9): [True: 152k, False: 0]
  ------------------
  362|   152k|        return pos1 < pos2 ? -1 : 1;
  ------------------
  |  Branch (362:16): [True: 152k, False: 0]
  ------------------
  363|      0|    const unsigned reloc_type1 = ((const upx_uint8_t *) a)[4];
  364|      0|    const unsigned reloc_type2 = ((const upx_uint8_t *) b)[4];
  365|      0|    if (reloc_type1 != reloc_type2)
  ------------------
  |  Branch (365:9): [True: 0, False: 0]
  ------------------
  366|      0|        return reloc_type1 < reloc_type2 ? -1 : 1;
  ------------------
  |  Branch (366:16): [True: 0, False: 0]
  ------------------
  367|      0|    return 0;
  368|      0|}
pefile.cpp:_ZL18reloc_entry_decodeN5XSpan9PtrOrSpanIKhEEPjS3_:
  353|  23.8k|static void reloc_entry_decode(SPAN_P(const byte) buf, unsigned *pos, unsigned *reloc_type) {
  354|  23.8k|    *pos = get_ne32(buf);
  355|  23.8k|    *reloc_type = buf[4];
  356|  23.8k|    assert(*reloc_type > 0 && *reloc_type < 16);
  ------------------
  |  |  512|  23.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 23.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  357|  23.8k|}
pefile.cpp:_ZZN6PeFile5Reloc6finishERPhRjENK3$_0clEN5XSpan4SpanINS0_9BaseRelocEEE:
  484|    231|    auto finish_block = [](SPAN_S(BaseReloc) rel) -> byte * {
  485|    231|        unsigned sob = rel->size_of_block;
  486|    231|        assert(sob >= 10 && (sob & 1) == 0);
  ------------------
  |  |  512|    231|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    462|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 231, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  487|    231|        auto end = SPAN_TYPE_CAST(byte, rel) + sob;
  ------------------
  |  |  216|    231|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|    462|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  488|    451|        while ((sob & 3) != 0) { // UPX: we want align by 4 here
  ------------------
  |  Branch (488:16): [True: 220, False: 231]
  ------------------
  489|    220|            *end++ = 0;          // clear byte (i.e. write IMAGE_REL_BASED_IGNORE)
  490|    220|            sob += 1;
  491|    220|        }
  492|    231|        rel->size_of_block = sob;
  493|    231|        return raw_bytes(end, 0);
  494|    231|    };
pefile.cpp:_ZL6xcheckPKv:
   46|    241|static void xcheck(const void *p) may_throw {
   47|    241|    if very_unlikely (p == nullptr)
  ------------------
  |  |  264|    241|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    241|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    241|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 4, False: 237]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   48|      4|        throwCantUnpack("xcheck unexpected nullptr pointer; take care!");
   49|    241|}
_ZNK6PeFile8Resource7res_dir6SizeofEv:
 1701|    179|    unsigned Sizeof() const { return 16 + mem_size(sizeof(res_dir_entry), namedentr + identr); }
pefile.cpp:_ZL15xcheck_noexceptPKv:
   50|    156|static void xcheck_noexcept(const void *p) noexcept { assert_noexcept(p != nullptr); }
  ------------------
  |  |  515|    156|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    312|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 156, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
pefile.cpp:_ZL6xcheckPKvmS0_m:
   51|  7.53k|static void xcheck(const void *p, size_t plen, const void *b, size_t blen) may_throw {
   52|  7.53k|    const charptr pp = (const charptr) p;
   53|  7.53k|    const charptr bb = (const charptr) b;
   54|  7.53k|    if very_unlikely (pp < bb || pp > bb + blen || pp + plen > bb + blen)
  ------------------
  |  |  264|  7.53k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.53k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  30.1k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1, False: 7.52k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 7.53k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 7.53k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 1, False: 7.52k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|      1|        throwCantUnpack("xcheck pointer out of range; take care!");
   56|  7.53k|}
pefile.cpp:_ZNK12_GLOBAL__N_14VPtrIKhEplEm:
 3098|    177|    SPAN_S(T) operator+(size_t n) const { return base + mem_size_get_n(sizeof(T), n - x); }
_ZN6PeFile7unpack0IN8PeFile3211pe_header_tE4LE32jEEvP10OutputFileRKT_RS6_T1_b:
 3231|    110|void PeFile::unpack0(OutputFile *fo, const ht &ih, ht &oh, ord_mask_t ord_mask, bool set_oft) {
 3232|       |    // infoHeader("[Processing %s, format %s, %d sections]", fn_basename(fi->getName()), getName(),
 3233|       |    // objs);
 3234|       |
 3235|    110|    handleStub(fi, fo, pe_offset);
 3236|    110|    if (ih.filealign == 0)
  ------------------
  |  Branch (3236:9): [True: 1, False: 109]
  ------------------
 3237|      1|        throwCantUnpack("unexpected value in the PE header");
 3238|       |
 3239|    109|    const unsigned iobjs = ih.objects;
 3240|    109|    const unsigned overlay =
 3241|    109|        file_size_u -
 3242|    109|        ALIGN_UP(isection[iobjs - 1].rawdataptr + isection[iobjs - 1].size, ih.filealign);
  ------------------
  |  |  530|    109|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3243|    109|    checkOverlay(overlay);
 3244|       |
 3245|    109|    ibuf.alloc(ph.c_len);
 3246|    109|    obuf.allocForDecompression(ph.u_len);
 3247|    109|    fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
 3248|    109|    fi->readx(ibuf, ibufgood = ph.c_len);
 3249|       |
 3250|       |    // decompress
 3251|    109|    decompress(ibuf, obuf);
 3252|    109|    const bool exact = ph.version == pe_exact_version;
 3253|    109|    PeExactTrailer trailer = {};
 3254|    109|    const unsigned trailer_size = sizeof(trailer) + sizeof(LE32);
 3255|    109|    if (exact) {
  ------------------
  |  Branch (3255:9): [True: 0, False: 109]
  ------------------
 3256|      0|        if (ph.u_len < trailer_size)
  ------------------
  |  Branch (3256:13): [True: 0, False: 0]
  ------------------
 3257|      0|            throwCantUnpack("corrupted exact metadata");
 3258|      0|        memcpy(&trailer, obuf + (ph.u_len - trailer_size), sizeof(trailer));
 3259|      0|    }
 3260|    109|    const unsigned stored_gap_size = exact ? (unsigned) trailer.gap_size : 0;
  ------------------
  |  Branch (3260:38): [True: 0, False: 109]
  ------------------
 3261|    109|    const unsigned exact_gap_offset = exact ? ph.u_len - trailer_size - stored_gap_size : 0;
  ------------------
  |  Branch (3261:39): [True: 0, False: 109]
  ------------------
 3262|    109|    unsigned exact_gap_used = 0;
 3263|    109|    if (exact) {
  ------------------
  |  Branch (3263:9): [True: 0, False: 109]
  ------------------
 3264|      0|        if (trailer.flags & ~(pe_exact_relocs | pe_exact_imports))
  ------------------
  |  Branch (3264:13): [True: 0, False: 0]
  ------------------
 3265|      0|            throwCantUnpack("unknown exact flags");
 3266|      0|        obuf.subref("bad exact gaps", exact_gap_offset, stored_gap_size);
 3267|      0|    }
 3268|    109|    unsigned skip = get_le32(obuf + (ph.u_len - 4));
 3269|    109|    unsigned take = sizeof_oh;
 3270|    109|    SPAN_S_VAR(byte, extra_info, obuf);
  ------------------
  |  |  214|    109|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|    109|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|    109|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|    109|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    109|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    109|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    109|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    109|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3271|    109|    extra_info = obuf.subref("bad extra_info offset %#x", skip, take);
 3272|       |    // byte *const eistart = raw_bytes(extra_info, 0);
 3273|       |
 3274|    109|    memcpy(&oh, extra_info, take);
 3275|    109|    extra_info += take;
 3276|    109|    skip += take;
 3277|    109|    const unsigned objs = oh.objects;
 3278|       |
 3279|    109|    if ((int) objs <= 0 || (iobjs > 2 && isection[2].size == 0))
  ------------------
  |  Branch (3279:9): [True: 44, False: 65]
  |  Branch (3279:29): [True: 65, False: 0]
  |  Branch (3279:42): [True: 1, False: 64]
  ------------------
 3280|      1|        throwCantUnpack("unexpected value in the PE header");
 3281|    108|    Array(pe_section_t, osection, objs);
  ------------------
  |  |  492|    108|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  493|    109|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|    109|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3282|    108|    take = sizeof(pe_section_t) * objs;
 3283|    108|    extra_info = obuf.subref("bad extra section size at %#x", skip, take);
 3284|    108|    memcpy(osection, extra_info, take);
 3285|    108|    extra_info += take;
 3286|    108|    skip += take;
 3287|    108|    rvamin = osection[0].vaddr;
 3288|       |
 3289|    108|    if (iobjs > 2) {
  ------------------
  |  Branch (3289:9): [True: 64, False: 44]
  ------------------
 3290|       |        // read the noncompressed section
 3291|     64|        const unsigned size = isection[2].size;
 3292|     64|        ibuf.dealloc();
 3293|     64|        ibuf.alloc(size + 1);
 3294|     64|        fi->seek(isection[2].rawdataptr, SEEK_SET);
 3295|     64|        fi->readx(ibuf, ibufgood = size);
 3296|     64|        ibuf[size] = 0; // allow strlen() up to 'size'
 3297|     64|    }
 3298|       |
 3299|       |    // unfilter
 3300|    108|    if (ph.filter) {
  ------------------
  |  Branch (3300:9): [True: 61, False: 47]
  ------------------
 3301|     61|        const unsigned codebase = exact && oh.codebase == 0 ? rvamin : (unsigned) oh.codebase;
  ------------------
  |  Branch (3301:35): [True: 0, False: 61]
  |  Branch (3301:44): [True: 0, False: 0]
  ------------------
 3302|     61|        Filter ft(ph.level);
 3303|     61|        ft.init(ph.filter, codebase - rvamin);
 3304|     61|        ft.cto = (byte) ph.filter_cto;
 3305|     61|        OCHECK(obuf + (codebase - rvamin), oh.codesize);
  ------------------
  |  |   58|     61|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 3306|     61|        ft.unfilter(obuf + (codebase - rvamin), oh.codesize);
 3307|     61|    }
 3308|       |
 3309|       |    // FIXME: ih.flags is checked here because of a bug in UPX 0.92
 3310|    108|    if (!exact && (ih.flags & IMAGE_FILE_RELOCS_STRIPPED)) {
  ------------------
  |  Branch (3310:9): [True: 61, False: 47]
  |  Branch (3310:19): [True: 58, False: 3]
  ------------------
 3311|     58|        oh.flags |= IMAGE_FILE_RELOCS_STRIPPED;
 3312|     58|        ODADDR(PEDIR_BASERELOC) = 0;
 3313|     58|        ODSIZE(PEDIR_BASERELOC) = 0;
 3314|     58|    }
 3315|       |
 3316|    108|    if (exact) {
  ------------------
  |  Branch (3316:9): [True: 0, False: 108]
  ------------------
 3317|      0|        if (trailer.flags & pe_exact_imports)
  ------------------
  |  Branch (3317:13): [True: 0, False: 0]
  ------------------
 3318|      0|            extra_info += 8;
 3319|    108|    } else {
 3320|    108|        rebuildImports<LEXX>(extra_info, ord_mask, set_oft);
 3321|    108|    }
 3322|    108|    if (!exact || (trailer.flags & pe_exact_relocs))
  ------------------
  |  Branch (3322:9): [True: 108, False: 0]
  |  Branch (3322:19): [True: 0, False: 0]
  ------------------
 3323|     59|        rebuildRelocs(extra_info, sizeof(ih.imagebase) * 8, oh.flags, oh.imagebase, exact);
 3324|    108|    rebuildTls();
 3325|    108|    if (!exact)
  ------------------
  |  Branch (3325:9): [True: 59, False: 49]
  ------------------
 3326|     59|        rebuildExports();
 3327|       |
 3328|    108|    if (iobjs > 3) {
  ------------------
  |  Branch (3328:9): [True: 3, False: 105]
  ------------------
 3329|       |        // read the resource section if present
 3330|      3|        ibuf.dealloc();
 3331|      3|        ibuf.alloc(isection[3].size);
 3332|      3|        fi->seek(isection[3].rawdataptr, SEEK_SET);
 3333|      3|        fi->readx(ibuf, ibufgood = isection[3].size);
 3334|      3|    }
 3335|       |
 3336|    108|    if (!exact)
  ------------------
  |  Branch (3336:9): [True: 59, False: 49]
  ------------------
 3337|     59|        rebuildResources(extra_info, isection[ih.objects - 1].vaddr);
 3338|       |
 3339|       |    // FIXME: this does bad things if the relocation section got removed
 3340|       |    //  during compression ...
 3341|       |    // memset(eistart, 0, ptr_udiff_bytes(extra_info, eistart) + 4);
 3342|       |
 3343|       |    // fill the data directory
 3344|    108|    if (!exact) {
  ------------------
  |  Branch (3344:9): [True: 34, False: 74]
  ------------------
 3345|     34|        ODADDR(PEDIR_IAT) = 0;
 3346|     34|        ODSIZE(PEDIR_IAT) = 0;
 3347|     34|        ODADDR(PEDIR_BOUND_IMPORT) = 0;
 3348|     34|        ODSIZE(PEDIR_BOUND_IMPORT) = 0;
 3349|     34|    }
 3350|       |
 3351|    108|    if (!exact) {
  ------------------
  |  Branch (3351:9): [True: 34, False: 74]
  ------------------
 3352|     34|        setOhHeaderSize(osection);
 3353|     34|        oh.chksum = 0;
 3354|     34|    }
 3355|       |
 3356|       |    // write decompressed file
 3357|    108|    if (fo) {
  ------------------
  |  Branch (3357:9): [True: 34, False: 74]
  ------------------
 3358|     34|        unsigned ic = 0;
 3359|     34|        while (ic < objs && osection[ic].rawdataptr == 0)
  ------------------
  |  Branch (3359:16): [True: 34, False: 0]
  |  Branch (3359:29): [True: 0, False: 34]
  ------------------
 3360|      0|            ic++;
 3361|     34|        if (ic >= objs)
  ------------------
  |  Branch (3361:13): [True: 0, False: 34]
  ------------------
 3362|      0|            throwCantUnpack("no section with raw data");
 3363|       |
 3364|     34|        ibuf.dealloc();
 3365|     34|        if (!exact) {
  ------------------
  |  Branch (3365:13): [True: 34, False: 0]
  ------------------
 3366|     34|            ibuf.alloc(osection[ic].rawdataptr);
 3367|     34|            ibuf.clear();
 3368|     34|        }
 3369|     34|        infoHeader("[Writing uncompressed file]");
 3370|       |
 3371|       |        // write header + decompressed file
 3372|     34|        fo->write(&oh, sizeof_oh);
 3373|     34|        fo->write(osection, objs * sizeof(pe_section_t));
 3374|     34|        if (!exact) {
  ------------------
  |  Branch (3374:13): [True: 34, False: 0]
  ------------------
 3375|     34|            fo->write(ibuf, osection[ic].rawdataptr - fo->getBytesWritten());
 3376|    247|            for (ic = 0; ic < objs; ic++)
  ------------------
  |  Branch (3376:26): [True: 213, False: 34]
  ------------------
 3377|    213|                if (osection[ic].rawdataptr) {
  ------------------
  |  Branch (3377:21): [True: 180, False: 33]
  ------------------
 3378|    180|                    const unsigned seclen = ALIGN_UP(osection[ic].size, oh.filealign);
  ------------------
  |  |  530|    180|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3379|    180|                    fo->write(obuf.subref("bad section %#x", osection[ic].vaddr - rvamin, seclen),
 3380|    180|                              seclen);
 3381|    180|                }
 3382|     34|        } else {
 3383|      0|            Array(unsigned, raw_order, objs);
  ------------------
  |  |  492|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  493|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3384|      0|            const unsigned raw_count = getRawSectionOrder(osection, objs, raw_order);
 3385|      0|            for (unsigned ii = 0; ii < raw_count; ii++) {
  ------------------
  |  Branch (3385:35): [True: 0, False: 0]
  ------------------
 3386|      0|                ic = raw_order[ii];
 3387|      0|                const unsigned written = fo->getBytesWritten();
 3388|      0|                if (written > osection[ic].rawdataptr)
  ------------------
  |  Branch (3388:21): [True: 0, False: 0]
  ------------------
 3389|      0|                    throwCantUnpack("overlapping raw sections");
 3390|      0|                const unsigned gap = osection[ic].rawdataptr - written;
 3391|      0|                if (gap > stored_gap_size - exact_gap_used)
  ------------------
  |  Branch (3391:21): [True: 0, False: 0]
  ------------------
 3392|      0|                    throwCantUnpack("corrupted exact gaps");
 3393|      0|                fo->write(obuf + (exact_gap_offset + exact_gap_used), gap);
 3394|      0|                exact_gap_used += gap;
 3395|      0|                fo->write(obuf.subref("bad exact section", osection[ic].vaddr - rvamin,
 3396|      0|                                      osection[ic].size),
 3397|      0|                          osection[ic].size);
 3398|      0|            }
 3399|      0|            if (exact_gap_used != stored_gap_size)
  ------------------
  |  Branch (3399:17): [True: 0, False: 0]
  ------------------
 3400|      0|                throwCantUnpack("unused exact gaps");
 3401|      0|        }
 3402|     34|        copyOverlay(fo, overlay, obuf);
 3403|     34|    }
 3404|    108|    ibuf.dealloc();
 3405|    108|}
_ZN6PeFile14rebuildImportsI4LE32jEEvRN5XSpan4SpanIhEET0_b:
 3140|     61|void PeFile::rebuildImports(SPAN_S(byte) & extra_info, ord_mask_t ord_mask, bool set_oft) {
 3141|     61|    if (ODADDR(PEDIR_IMPORT) == 0 || ODSIZE(PEDIR_IMPORT) <= sizeof(import_desc))
  ------------------
  |  Branch (3141:9): [True: 0, False: 61]
  |  Branch (3141:38): [True: 0, False: 61]
  ------------------
 3142|      0|        return;
 3143|       |
 3144|     61|    OPTR_VAR(const byte, const imdata, obuf + mem_size(1, get_le32(extra_info)));
  ------------------
  |  |   42|     61|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|     61|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     61|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     61|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3145|     61|    const unsigned inamespos = mem_size(1, get_le32(extra_info + 4));
 3146|     61|    extra_info += 8;
 3147|       |
 3148|     61|    unsigned sdllnames = 0;
 3149|       |
 3150|     61|    IPTR_VAR_OFFSET(const byte, const my_import, IDADDR(PEDIR_IMPORT) - isection[2].vaddr);
  ------------------
  |  |   44|     61|    SPAN_S_VAR(type, var, ibuf + (offset), ibuf.getSize() - (offset), ibuf + (offset))
  |  |  ------------------
  |  |  |  |  214|     61|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     61|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     61|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3151|     61|    OPTR_VAR(const byte, p, raw_bytes(imdata, 4));
  ------------------
  |  |   42|     61|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|     61|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     61|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     61|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3152|       |
 3153|    233|    for (; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (3153:12): [True: 172, False: 61]
  ------------------
 3154|    172|        const byte *dname = raw_bytes(my_import + mem_size(1, get_le32(p)), 1);
 3155|    172|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|    172|#define strlen upx_safe_strlen
  ------------------
 3156|    172|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   57|    172|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3157|       |
 3158|    172|        sdllnames += dlen + 1;
 3159|  6.30k|        for (p += 8; *p;)
  ------------------
  |  Branch (3159:22): [True: 6.13k, False: 172]
  ------------------
 3160|  6.13k|            if (*p == 1)
  ------------------
  |  Branch (3160:17): [True: 6.13k, False: 0]
  ------------------
 3161|  6.13k|                p += 1 + strlen(p + 1) + 1;
  ------------------
  |  |   70|  6.13k|#define strlen upx_safe_strlen
  ------------------
 3162|      0|            else if (*p == 0xff)
  ------------------
  |  Branch (3162:22): [True: 0, False: 0]
  ------------------
 3163|      0|                p += 3; // ordinal
 3164|      0|            else
 3165|      0|                p += 5;
 3166|    172|    }
 3167|     61|    sdllnames = ALIGN_UP(sdllnames, 2u);
  ------------------
  |  |  530|     61|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3168|       |
 3169|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 3170|       |    //// byte *const Obuf = obuf.raw_bytes(0) - rvamin;
 3171|     61|    const VPtr<byte> Obuf{obuf, rvamin};
 3172|     61|    SPAN_S_VAR(import_desc, im, (import_desc *) raw_bytes(Obuf + ODADDR(PEDIR_IMPORT), 0), obuf);
  ------------------
  |  |  214|     61|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     61|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     61|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3173|     61|    SPAN_0_VAR(byte, dllnames, inamespos ? raw_bytes(Obuf + inamespos, 0) : nullptr, obuf);
  ------------------
  |  |  212|     61|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|    122|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     61|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 61]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3174|     61|    SPAN_0_VAR(byte, const importednames_start, inamespos ? dllnames + sdllnames : nullptr);
  ------------------
  |  |  212|     61|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|    122|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     61|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 61]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3175|     61|    SPAN_0_VAR(byte, importednames, importednames_start);
  ------------------
  |  |  212|     61|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     61|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     61|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     61|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     61|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     61|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3176|       |
 3177|    233|    for (p = imdata; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (3177:22): [True: 172, False: 61]
  ------------------
 3178|       |        // restore the name of the dll
 3179|    172|        const byte *dname = raw_bytes(my_import + get_le32(p), 1);
 3180|    172|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|    172|#define strlen upx_safe_strlen
  ------------------
 3181|    172|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   57|    172|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3182|       |
 3183|    172|        const unsigned iatoffs = get_le32(p + 4) + rvamin;
 3184|    172|        if (inamespos) {
  ------------------
  |  Branch (3184:13): [True: 0, False: 172]
  ------------------
 3185|       |            // now I rebuild the dll names
 3186|      0|            omemcpy(dllnames, dname, dlen + 1);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3187|      0|            im->dllname = ptr_udiff_bytes(dllnames, obuf) + rvamin;
 3188|       |            //;;;printf("\ndll: %s:",dllnames);
 3189|      0|            dllnames += dlen + 1;
 3190|    172|        } else {
 3191|    172|            omemcpy(Obuf + im->dllname, dname, dlen + 1);
  ------------------
  |  |   63|    172|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|    172|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3192|    172|        }
 3193|    172|        im->iat = iatoffs;
 3194|    172|        if (set_oft)
  ------------------
  |  Branch (3194:13): [True: 6, False: 166]
  ------------------
 3195|      6|            im->oft = iatoffs;
 3196|       |
 3197|    172|        OPTR_VAR(LEXX, newiat, (LEXX *) raw_bytes(Obuf + iatoffs, 0));
  ------------------
  |  |   42|    172|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|    172|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|    172|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|    172|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|    172|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|    172|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|    172|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|    172|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|    172|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3198|       |
 3199|       |        // restore the imported names+ordinals
 3200|  6.30k|        for (p += 8; *p; ++newiat)
  ------------------
  |  Branch (3200:22): [True: 6.13k, False: 172]
  ------------------
 3201|  6.13k|            if (*p == 1) {
  ------------------
  |  Branch (3201:17): [True: 6.13k, False: 0]
  ------------------
 3202|  6.13k|                const unsigned ilen = strlen(++p) + 1;
  ------------------
  |  |   70|  6.13k|#define strlen upx_safe_strlen
  ------------------
 3203|  6.13k|                if (inamespos) {
  ------------------
  |  Branch (3203:21): [True: 0, False: 6.13k]
  ------------------
 3204|      0|                    if (ptr_udiff_bytes(importednames, importednames_start) & 1)
  ------------------
  |  Branch (3204:25): [True: 0, False: 0]
  ------------------
 3205|      0|                        importednames -= 1;
 3206|      0|                    omemcpy(importednames + 2, p, ilen);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3207|       |                    //;;;printf(" %s",importednames+2);
 3208|      0|                    *newiat = ptr_udiff_bytes(importednames, obuf) + rvamin;
 3209|      0|                    importednames += 2 + ilen;
 3210|  6.13k|                } else {
 3211|       |                    // Beware overlap!
 3212|  6.13k|                    omemmove(Obuf + (*newiat + 2), p, ilen);
  ------------------
  |  |   64|  6.13k|#define omemmove(a, b, c) OCHECK(a, c), memmove(a, b, c)
  |  |  ------------------
  |  |  |  |   58|  6.13k|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3213|  6.13k|                }
 3214|  6.13k|                p += ilen;
 3215|  6.13k|            } else if (*p == 0xff) {
  ------------------
  |  Branch (3215:24): [True: 0, False: 0]
  ------------------
 3216|      0|                *newiat = get_le16(p + 1) + ord_mask;
 3217|       |                //;;;printf(" %x",(unsigned)*newiat);
 3218|      0|                p += 3;
 3219|      0|            } else {
 3220|      0|                *newiat = *(const LEXX *) raw_bytes(my_import + get_le32(p + 1), sizeof(LEXX));
 3221|      0|                assert(*newiat & ord_mask);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3222|      0|                p += 5;
 3223|      0|            }
 3224|    172|        *newiat = 0;
 3225|    172|        im++;
 3226|    172|    }
 3227|       |    // memset(imdata, 0, ptr_udiff_bytes(p, imdata));
 3228|     61|}
pefile.cpp:_ZNK12_GLOBAL__N_14VPtrIhEplEm:
 3098|  14.1k|    SPAN_S(T) operator+(size_t n) const { return base + mem_size_get_n(sizeof(T), n - x); }
_ZN6PeFile7unpack0IN8PeFile6411pe_header_tE4LE64yEEvP10OutputFileRKT_RS6_T1_b:
 3231|     24|void PeFile::unpack0(OutputFile *fo, const ht &ih, ht &oh, ord_mask_t ord_mask, bool set_oft) {
 3232|       |    // infoHeader("[Processing %s, format %s, %d sections]", fn_basename(fi->getName()), getName(),
 3233|       |    // objs);
 3234|       |
 3235|     24|    handleStub(fi, fo, pe_offset);
 3236|     24|    if (ih.filealign == 0)
  ------------------
  |  Branch (3236:9): [True: 1, False: 23]
  ------------------
 3237|      1|        throwCantUnpack("unexpected value in the PE header");
 3238|       |
 3239|     23|    const unsigned iobjs = ih.objects;
 3240|     23|    const unsigned overlay =
 3241|     23|        file_size_u -
 3242|     23|        ALIGN_UP(isection[iobjs - 1].rawdataptr + isection[iobjs - 1].size, ih.filealign);
  ------------------
  |  |  530|     23|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3243|     23|    checkOverlay(overlay);
 3244|       |
 3245|     23|    ibuf.alloc(ph.c_len);
 3246|     23|    obuf.allocForDecompression(ph.u_len);
 3247|     23|    fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
 3248|     23|    fi->readx(ibuf, ibufgood = ph.c_len);
 3249|       |
 3250|       |    // decompress
 3251|     23|    decompress(ibuf, obuf);
 3252|     23|    const bool exact = ph.version == pe_exact_version;
 3253|     23|    PeExactTrailer trailer = {};
 3254|     23|    const unsigned trailer_size = sizeof(trailer) + sizeof(LE32);
 3255|     23|    if (exact) {
  ------------------
  |  Branch (3255:9): [True: 0, False: 23]
  ------------------
 3256|      0|        if (ph.u_len < trailer_size)
  ------------------
  |  Branch (3256:13): [True: 0, False: 0]
  ------------------
 3257|      0|            throwCantUnpack("corrupted exact metadata");
 3258|      0|        memcpy(&trailer, obuf + (ph.u_len - trailer_size), sizeof(trailer));
 3259|      0|    }
 3260|     23|    const unsigned stored_gap_size = exact ? (unsigned) trailer.gap_size : 0;
  ------------------
  |  Branch (3260:38): [True: 0, False: 23]
  ------------------
 3261|     23|    const unsigned exact_gap_offset = exact ? ph.u_len - trailer_size - stored_gap_size : 0;
  ------------------
  |  Branch (3261:39): [True: 0, False: 23]
  ------------------
 3262|     23|    unsigned exact_gap_used = 0;
 3263|     23|    if (exact) {
  ------------------
  |  Branch (3263:9): [True: 0, False: 23]
  ------------------
 3264|      0|        if (trailer.flags & ~(pe_exact_relocs | pe_exact_imports))
  ------------------
  |  Branch (3264:13): [True: 0, False: 0]
  ------------------
 3265|      0|            throwCantUnpack("unknown exact flags");
 3266|      0|        obuf.subref("bad exact gaps", exact_gap_offset, stored_gap_size);
 3267|      0|    }
 3268|     23|    unsigned skip = get_le32(obuf + (ph.u_len - 4));
 3269|     23|    unsigned take = sizeof_oh;
 3270|     23|    SPAN_S_VAR(byte, extra_info, obuf);
  ------------------
  |  |  214|     23|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     23|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     23|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|     23|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     23|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     23|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     23|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     23|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3271|     23|    extra_info = obuf.subref("bad extra_info offset %#x", skip, take);
 3272|       |    // byte *const eistart = raw_bytes(extra_info, 0);
 3273|       |
 3274|     23|    memcpy(&oh, extra_info, take);
 3275|     23|    extra_info += take;
 3276|     23|    skip += take;
 3277|     23|    const unsigned objs = oh.objects;
 3278|       |
 3279|     23|    if ((int) objs <= 0 || (iobjs > 2 && isection[2].size == 0))
  ------------------
  |  Branch (3279:9): [True: 14, False: 9]
  |  Branch (3279:29): [True: 9, False: 0]
  |  Branch (3279:42): [True: 1, False: 8]
  ------------------
 3280|      1|        throwCantUnpack("unexpected value in the PE header");
 3281|     22|    Array(pe_section_t, osection, objs);
  ------------------
  |  |  492|     22|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  493|     23|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|     23|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3282|     22|    take = sizeof(pe_section_t) * objs;
 3283|     22|    extra_info = obuf.subref("bad extra section size at %#x", skip, take);
 3284|     22|    memcpy(osection, extra_info, take);
 3285|     22|    extra_info += take;
 3286|     22|    skip += take;
 3287|     22|    rvamin = osection[0].vaddr;
 3288|       |
 3289|     22|    if (iobjs > 2) {
  ------------------
  |  Branch (3289:9): [True: 8, False: 14]
  ------------------
 3290|       |        // read the noncompressed section
 3291|      8|        const unsigned size = isection[2].size;
 3292|      8|        ibuf.dealloc();
 3293|      8|        ibuf.alloc(size + 1);
 3294|      8|        fi->seek(isection[2].rawdataptr, SEEK_SET);
 3295|      8|        fi->readx(ibuf, ibufgood = size);
 3296|      8|        ibuf[size] = 0; // allow strlen() up to 'size'
 3297|      8|    }
 3298|       |
 3299|       |    // unfilter
 3300|     22|    if (ph.filter) {
  ------------------
  |  Branch (3300:9): [True: 7, False: 15]
  ------------------
 3301|      7|        const unsigned codebase = exact && oh.codebase == 0 ? rvamin : (unsigned) oh.codebase;
  ------------------
  |  Branch (3301:35): [True: 0, False: 7]
  |  Branch (3301:44): [True: 0, False: 0]
  ------------------
 3302|      7|        Filter ft(ph.level);
 3303|      7|        ft.init(ph.filter, codebase - rvamin);
 3304|      7|        ft.cto = (byte) ph.filter_cto;
 3305|      7|        OCHECK(obuf + (codebase - rvamin), oh.codesize);
  ------------------
  |  |   58|      7|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 3306|      7|        ft.unfilter(obuf + (codebase - rvamin), oh.codesize);
 3307|      7|    }
 3308|       |
 3309|       |    // FIXME: ih.flags is checked here because of a bug in UPX 0.92
 3310|     22|    if (!exact && (ih.flags & IMAGE_FILE_RELOCS_STRIPPED)) {
  ------------------
  |  Branch (3310:9): [True: 7, False: 15]
  |  Branch (3310:19): [True: 4, False: 3]
  ------------------
 3311|      4|        oh.flags |= IMAGE_FILE_RELOCS_STRIPPED;
 3312|      4|        ODADDR(PEDIR_BASERELOC) = 0;
 3313|      4|        ODSIZE(PEDIR_BASERELOC) = 0;
 3314|      4|    }
 3315|       |
 3316|     22|    if (exact) {
  ------------------
  |  Branch (3316:9): [True: 0, False: 22]
  ------------------
 3317|      0|        if (trailer.flags & pe_exact_imports)
  ------------------
  |  Branch (3317:13): [True: 0, False: 0]
  ------------------
 3318|      0|            extra_info += 8;
 3319|     22|    } else {
 3320|     22|        rebuildImports<LEXX>(extra_info, ord_mask, set_oft);
 3321|     22|    }
 3322|     22|    if (!exact || (trailer.flags & pe_exact_relocs))
  ------------------
  |  Branch (3322:9): [True: 22, False: 0]
  |  Branch (3322:19): [True: 0, False: 0]
  ------------------
 3323|      6|        rebuildRelocs(extra_info, sizeof(ih.imagebase) * 8, oh.flags, oh.imagebase, exact);
 3324|     22|    rebuildTls();
 3325|     22|    if (!exact)
  ------------------
  |  Branch (3325:9): [True: 6, False: 16]
  ------------------
 3326|      6|        rebuildExports();
 3327|       |
 3328|     22|    if (iobjs > 3) {
  ------------------
  |  Branch (3328:9): [True: 0, False: 22]
  ------------------
 3329|       |        // read the resource section if present
 3330|      0|        ibuf.dealloc();
 3331|      0|        ibuf.alloc(isection[3].size);
 3332|      0|        fi->seek(isection[3].rawdataptr, SEEK_SET);
 3333|      0|        fi->readx(ibuf, ibufgood = isection[3].size);
 3334|      0|    }
 3335|       |
 3336|     22|    if (!exact)
  ------------------
  |  Branch (3336:9): [True: 6, False: 16]
  ------------------
 3337|      6|        rebuildResources(extra_info, isection[ih.objects - 1].vaddr);
 3338|       |
 3339|       |    // FIXME: this does bad things if the relocation section got removed
 3340|       |    //  during compression ...
 3341|       |    // memset(eistart, 0, ptr_udiff_bytes(extra_info, eistart) + 4);
 3342|       |
 3343|       |    // fill the data directory
 3344|     22|    if (!exact) {
  ------------------
  |  Branch (3344:9): [True: 4, False: 18]
  ------------------
 3345|      4|        ODADDR(PEDIR_IAT) = 0;
 3346|      4|        ODSIZE(PEDIR_IAT) = 0;
 3347|      4|        ODADDR(PEDIR_BOUND_IMPORT) = 0;
 3348|      4|        ODSIZE(PEDIR_BOUND_IMPORT) = 0;
 3349|      4|    }
 3350|       |
 3351|     22|    if (!exact) {
  ------------------
  |  Branch (3351:9): [True: 4, False: 18]
  ------------------
 3352|      4|        setOhHeaderSize(osection);
 3353|      4|        oh.chksum = 0;
 3354|      4|    }
 3355|       |
 3356|       |    // write decompressed file
 3357|     22|    if (fo) {
  ------------------
  |  Branch (3357:9): [True: 4, False: 18]
  ------------------
 3358|      4|        unsigned ic = 0;
 3359|      4|        while (ic < objs && osection[ic].rawdataptr == 0)
  ------------------
  |  Branch (3359:16): [True: 4, False: 0]
  |  Branch (3359:29): [True: 0, False: 4]
  ------------------
 3360|      0|            ic++;
 3361|      4|        if (ic >= objs)
  ------------------
  |  Branch (3361:13): [True: 0, False: 4]
  ------------------
 3362|      0|            throwCantUnpack("no section with raw data");
 3363|       |
 3364|      4|        ibuf.dealloc();
 3365|      4|        if (!exact) {
  ------------------
  |  Branch (3365:13): [True: 4, False: 0]
  ------------------
 3366|      4|            ibuf.alloc(osection[ic].rawdataptr);
 3367|      4|            ibuf.clear();
 3368|      4|        }
 3369|      4|        infoHeader("[Writing uncompressed file]");
 3370|       |
 3371|       |        // write header + decompressed file
 3372|      4|        fo->write(&oh, sizeof_oh);
 3373|      4|        fo->write(osection, objs * sizeof(pe_section_t));
 3374|      4|        if (!exact) {
  ------------------
  |  Branch (3374:13): [True: 4, False: 0]
  ------------------
 3375|      4|            fo->write(ibuf, osection[ic].rawdataptr - fo->getBytesWritten());
 3376|     54|            for (ic = 0; ic < objs; ic++)
  ------------------
  |  Branch (3376:26): [True: 50, False: 4]
  ------------------
 3377|     50|                if (osection[ic].rawdataptr) {
  ------------------
  |  Branch (3377:21): [True: 48, False: 2]
  ------------------
 3378|     48|                    const unsigned seclen = ALIGN_UP(osection[ic].size, oh.filealign);
  ------------------
  |  |  530|     48|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3379|     48|                    fo->write(obuf.subref("bad section %#x", osection[ic].vaddr - rvamin, seclen),
 3380|     48|                              seclen);
 3381|     48|                }
 3382|      4|        } else {
 3383|      0|            Array(unsigned, raw_order, objs);
  ------------------
  |  |  492|      0|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  493|      0|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3384|      0|            const unsigned raw_count = getRawSectionOrder(osection, objs, raw_order);
 3385|      0|            for (unsigned ii = 0; ii < raw_count; ii++) {
  ------------------
  |  Branch (3385:35): [True: 0, False: 0]
  ------------------
 3386|      0|                ic = raw_order[ii];
 3387|      0|                const unsigned written = fo->getBytesWritten();
 3388|      0|                if (written > osection[ic].rawdataptr)
  ------------------
  |  Branch (3388:21): [True: 0, False: 0]
  ------------------
 3389|      0|                    throwCantUnpack("overlapping raw sections");
 3390|      0|                const unsigned gap = osection[ic].rawdataptr - written;
 3391|      0|                if (gap > stored_gap_size - exact_gap_used)
  ------------------
  |  Branch (3391:21): [True: 0, False: 0]
  ------------------
 3392|      0|                    throwCantUnpack("corrupted exact gaps");
 3393|      0|                fo->write(obuf + (exact_gap_offset + exact_gap_used), gap);
 3394|      0|                exact_gap_used += gap;
 3395|      0|                fo->write(obuf.subref("bad exact section", osection[ic].vaddr - rvamin,
 3396|      0|                                      osection[ic].size),
 3397|      0|                          osection[ic].size);
 3398|      0|            }
 3399|      0|            if (exact_gap_used != stored_gap_size)
  ------------------
  |  Branch (3399:17): [True: 0, False: 0]
  ------------------
 3400|      0|                throwCantUnpack("unused exact gaps");
 3401|      0|        }
 3402|      4|        copyOverlay(fo, overlay, obuf);
 3403|      4|    }
 3404|     22|    ibuf.dealloc();
 3405|     22|}
_ZN6PeFile14rebuildImportsI4LE64yEEvRN5XSpan4SpanIhEET0_b:
 3140|      7|void PeFile::rebuildImports(SPAN_S(byte) & extra_info, ord_mask_t ord_mask, bool set_oft) {
 3141|      7|    if (ODADDR(PEDIR_IMPORT) == 0 || ODSIZE(PEDIR_IMPORT) <= sizeof(import_desc))
  ------------------
  |  Branch (3141:9): [True: 0, False: 7]
  |  Branch (3141:38): [True: 0, False: 7]
  ------------------
 3142|      0|        return;
 3143|       |
 3144|      7|    OPTR_VAR(const byte, const imdata, obuf + mem_size(1, get_le32(extra_info)));
  ------------------
  |  |   42|      7|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3145|      7|    const unsigned inamespos = mem_size(1, get_le32(extra_info + 4));
 3146|      7|    extra_info += 8;
 3147|       |
 3148|      7|    unsigned sdllnames = 0;
 3149|       |
 3150|      7|    IPTR_VAR_OFFSET(const byte, const my_import, IDADDR(PEDIR_IMPORT) - isection[2].vaddr);
  ------------------
  |  |   44|      7|    SPAN_S_VAR(type, var, ibuf + (offset), ibuf.getSize() - (offset), ibuf + (offset))
  |  |  ------------------
  |  |  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3151|      7|    OPTR_VAR(const byte, p, raw_bytes(imdata, 4));
  ------------------
  |  |   42|      7|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3152|       |
 3153|     21|    for (; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (3153:12): [True: 14, False: 7]
  ------------------
 3154|     14|        const byte *dname = raw_bytes(my_import + mem_size(1, get_le32(p)), 1);
 3155|     14|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|     14|#define strlen upx_safe_strlen
  ------------------
 3156|     14|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   57|     14|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3157|       |
 3158|     14|        sdllnames += dlen + 1;
 3159|    664|        for (p += 8; *p;)
  ------------------
  |  Branch (3159:22): [True: 650, False: 14]
  ------------------
 3160|    650|            if (*p == 1)
  ------------------
  |  Branch (3160:17): [True: 650, False: 0]
  ------------------
 3161|    650|                p += 1 + strlen(p + 1) + 1;
  ------------------
  |  |   70|    650|#define strlen upx_safe_strlen
  ------------------
 3162|      0|            else if (*p == 0xff)
  ------------------
  |  Branch (3162:22): [True: 0, False: 0]
  ------------------
 3163|      0|                p += 3; // ordinal
 3164|      0|            else
 3165|      0|                p += 5;
 3166|     14|    }
 3167|      7|    sdllnames = ALIGN_UP(sdllnames, 2u);
  ------------------
  |  |  530|      7|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3168|       |
 3169|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 3170|       |    //// byte *const Obuf = obuf.raw_bytes(0) - rvamin;
 3171|      7|    const VPtr<byte> Obuf{obuf, rvamin};
 3172|      7|    SPAN_S_VAR(import_desc, im, (import_desc *) raw_bytes(Obuf + ODADDR(PEDIR_IMPORT), 0), obuf);
  ------------------
  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3173|      7|    SPAN_0_VAR(byte, dllnames, inamespos ? raw_bytes(Obuf + inamespos, 0) : nullptr, obuf);
  ------------------
  |  |  212|      7|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     14|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      7|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 7]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3174|      7|    SPAN_0_VAR(byte, const importednames_start, inamespos ? dllnames + sdllnames : nullptr);
  ------------------
  |  |  212|      7|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     14|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      7|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 7]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3175|      7|    SPAN_0_VAR(byte, importednames, importednames_start);
  ------------------
  |  |  212|      7|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|      7|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      7|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   73|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3176|       |
 3177|     21|    for (p = imdata; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (3177:22): [True: 14, False: 7]
  ------------------
 3178|       |        // restore the name of the dll
 3179|     14|        const byte *dname = raw_bytes(my_import + get_le32(p), 1);
 3180|     14|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|     14|#define strlen upx_safe_strlen
  ------------------
 3181|     14|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   57|     14|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 3182|       |
 3183|     14|        const unsigned iatoffs = get_le32(p + 4) + rvamin;
 3184|     14|        if (inamespos) {
  ------------------
  |  Branch (3184:13): [True: 0, False: 14]
  ------------------
 3185|       |            // now I rebuild the dll names
 3186|      0|            omemcpy(dllnames, dname, dlen + 1);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3187|      0|            im->dllname = ptr_udiff_bytes(dllnames, obuf) + rvamin;
 3188|       |            //;;;printf("\ndll: %s:",dllnames);
 3189|      0|            dllnames += dlen + 1;
 3190|     14|        } else {
 3191|     14|            omemcpy(Obuf + im->dllname, dname, dlen + 1);
  ------------------
  |  |   63|     14|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|     14|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3192|     14|        }
 3193|     14|        im->iat = iatoffs;
 3194|     14|        if (set_oft)
  ------------------
  |  Branch (3194:13): [True: 0, False: 14]
  ------------------
 3195|      0|            im->oft = iatoffs;
 3196|       |
 3197|     14|        OPTR_VAR(LEXX, newiat, (LEXX *) raw_bytes(Obuf + iatoffs, 0));
  ------------------
  |  |   42|     14|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|     14|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     14|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     14|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   73|     14|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     14|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     14|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     14|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     14|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3198|       |
 3199|       |        // restore the imported names+ordinals
 3200|    664|        for (p += 8; *p; ++newiat)
  ------------------
  |  Branch (3200:22): [True: 650, False: 14]
  ------------------
 3201|    650|            if (*p == 1) {
  ------------------
  |  Branch (3201:17): [True: 650, False: 0]
  ------------------
 3202|    650|                const unsigned ilen = strlen(++p) + 1;
  ------------------
  |  |   70|    650|#define strlen upx_safe_strlen
  ------------------
 3203|    650|                if (inamespos) {
  ------------------
  |  Branch (3203:21): [True: 0, False: 650]
  ------------------
 3204|      0|                    if (ptr_udiff_bytes(importednames, importednames_start) & 1)
  ------------------
  |  Branch (3204:25): [True: 0, False: 0]
  ------------------
 3205|      0|                        importednames -= 1;
 3206|      0|                    omemcpy(importednames + 2, p, ilen);
  ------------------
  |  |   63|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   58|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3207|       |                    //;;;printf(" %s",importednames+2);
 3208|      0|                    *newiat = ptr_udiff_bytes(importednames, obuf) + rvamin;
 3209|      0|                    importednames += 2 + ilen;
 3210|    650|                } else {
 3211|       |                    // Beware overlap!
 3212|    650|                    omemmove(Obuf + (*newiat + 2), p, ilen);
  ------------------
  |  |   64|    650|#define omemmove(a, b, c) OCHECK(a, c), memmove(a, b, c)
  |  |  ------------------
  |  |  |  |   58|    650|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3213|    650|                }
 3214|    650|                p += ilen;
 3215|    650|            } else if (*p == 0xff) {
  ------------------
  |  Branch (3215:24): [True: 0, False: 0]
  ------------------
 3216|      0|                *newiat = get_le16(p + 1) + ord_mask;
 3217|       |                //;;;printf(" %x",(unsigned)*newiat);
 3218|      0|                p += 3;
 3219|      0|            } else {
 3220|      0|                *newiat = *(const LEXX *) raw_bytes(my_import + get_le32(p + 1), sizeof(LEXX));
 3221|      0|                assert(*newiat & ord_mask);
  ------------------
  |  |  512|      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 (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3222|      0|                p += 5;
 3223|      0|            }
 3224|     14|        *newiat = 0;
 3225|     14|        im++;
 3226|     14|    }
 3227|       |    // memset(imdata, 0, ptr_udiff_bytes(p, imdata));
 3228|      7|}

_ZNK6PeFile10getVersionEv:
   37|  55.8k|    virtual int getVersion() const override { return pe_exact_version; }
_ZNK6PeFile16canUnpackVersionEi:
   81|    146|    virtual bool canUnpackVersion(int version) const override {
   82|    146|        return (version >= 12 && version <= pe_exact_version);
  ------------------
  |  Branch (82:17): [True: 143, False: 3]
  |  Branch (82:34): [True: 143, False: 0]
  ------------------
   83|    146|    }

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

_ZN3upx11NonCopyAbleC2Ev:
  381|  14.7k|    forceinline constexpr NonCopyAble() noexcept {}
_ZN3upx12compile_time6mem_eqEPKhS2_m:
   67|   132k|constexpr bool mem_eq(const unsigned char *a, const unsigned char *b, std::size_t n) noexcept {
   68|   132k|    return n == 0 || (*a == *b && mem_eq(a + 1, b + 1, n - 1));
  ------------------
  |  Branch (68:12): [True: 14.6k, False: 117k]
  |  Branch (68:23): [True: 117k, False: 0]
  |  Branch (68:35): [True: 117k, False: 0]
  ------------------
   69|   132k|}
_ZN3upx12compile_time7mem_setEPhhm:
   80|  1.30M|constexpr void mem_set(unsigned char *p, unsigned char c, std::size_t n) noexcept {
   81|  1.30M|    (void) (n == 0 || (*p = c, mem_set(p + 1, c, n - 1), 0));
  ------------------
  |  Branch (81:13): [True: 132k, False: 1.17M]
  |  Branch (81:23): [True: 0, False: 1.17M]
  ------------------
   82|  1.30M|}
_ZN3upx12compile_time9mem_clearEPhm:
   84|   117k|forceinline constexpr void mem_clear(unsigned char *p, std::size_t n) noexcept {
   85|   117k|    mem_set(p, (unsigned char) 0, n);
   86|   117k|}
_ZN3upx12compile_time11upx_bswap16Et:
   88|  44.0k|forceinline constexpr upx_uint16_t bswap16(upx_uint16_t v) noexcept {
   89|  44.0k|    typedef unsigned U;
   90|  44.0k|    return (upx_uint16_t) ((((U) v >> 8) & 0xff) | (((U) v & 0xff) << 8));
   91|  44.0k|}
_ZN3upx12compile_time11upx_bswap32Ej:
   92|  44.0k|forceinline constexpr upx_uint32_t bswap32(upx_uint32_t v) noexcept {
   93|  44.0k|    typedef upx_uint32_t U;
   94|  44.0k|    return (upx_uint32_t) ((((U) v >> 24) & 0xff) | (((U) v >> 8) & 0xff00) |
   95|  44.0k|                           (((U) v & 0xff00) << 8) | (((U) v & 0xff) << 24));
   96|  44.0k|}
_ZN3upx12compile_time11upx_bswap64Ey:
   97|  44.0k|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.0k|    return ((v & 0xff) << 56) | ((v & 0xff00) << 40) | ((v & 0xff0000) << 24) |
  101|  44.0k|           ((v & 0xff000000) << 8) | ((v >> 8) & 0xff000000) | ((v >> 24) & 0xff0000) |
  102|  44.0k|           ((v >> 40) & 0xff00) | ((v >> 56) & 0xff);
  103|  44.0k|}
_ZN3upx12compile_time8get_be16EPKh:
  105|  88.0k|forceinline constexpr upx_uint16_t get_be16(const byte *p) noexcept {
  106|  88.0k|    typedef unsigned U;
  107|  88.0k|    return (upx_uint16_t) (((U) p[0] << 8) | ((U) p[1] << 0));
  108|  88.0k|}
_ZN3upx12compile_time8get_be24EPKh:
  109|   504k|forceinline constexpr upx_uint32_t get_be24(const byte *p) noexcept {
  110|   504k|    typedef upx_uint32_t U;
  111|   504k|    return (upx_uint32_t) (((U) p[0] << 16) | ((U) p[1] << 8) | ((U) p[2] << 0));
  112|   504k|}
_ZN3upx12compile_time8get_be32EPKh:
  113|  88.0k|forceinline constexpr upx_uint32_t get_be32(const byte *p) noexcept {
  114|  88.0k|    typedef upx_uint32_t U;
  115|  88.0k|    return (upx_uint32_t) (((U) p[0] << 24) | ((U) p[1] << 16) | ((U) p[2] << 8) | ((U) p[3] << 0));
  116|  88.0k|}
_ZN3upx12compile_time8get_be64EPKh:
  117|  88.0k|forceinline constexpr upx_uint64_t get_be64(const byte *p) noexcept {
  118|  88.0k|    typedef upx_uint64_t U;
  119|  88.0k|    return (upx_uint64_t) (((U) p[0] << 56) | ((U) p[1] << 48) | ((U) p[2] << 40) |
  120|  88.0k|                           ((U) p[3] << 32) | ((U) p[4] << 24) | ((U) p[5] << 16) |
  121|  88.0k|                           ((U) p[6] << 8) | ((U) p[7] << 0));
  122|  88.0k|}
_ZN3upx12compile_time8set_be16EPht:
  124|  44.0k|forceinline constexpr void set_be16(byte *p, upx_uint16_t v) noexcept {
  125|  44.0k|    p[0] = (byte) ((v >> 8) & 0xff);
  126|  44.0k|    p[1] = (byte) ((v >> 0) & 0xff);
  127|  44.0k|}
_ZN3upx12compile_time8set_be24EPhj:
  128|   416k|forceinline constexpr void set_be24(byte *p, upx_uint32_t v) noexcept {
  129|   416k|    p[0] = (byte) ((v >> 16) & 0xff);
  130|   416k|    p[1] = (byte) ((v >> 8) & 0xff);
  131|   416k|    p[2] = (byte) ((v >> 0) & 0xff);
  132|   416k|}
_ZN3upx12compile_time8set_be32EPhj:
  133|  44.0k|forceinline constexpr void set_be32(byte *p, upx_uint32_t v) noexcept {
  134|  44.0k|    p[0] = (byte) ((v >> 24) & 0xff);
  135|  44.0k|    p[1] = (byte) ((v >> 16) & 0xff);
  136|  44.0k|    p[2] = (byte) ((v >> 8) & 0xff);
  137|  44.0k|    p[3] = (byte) ((v >> 0) & 0xff);
  138|  44.0k|}
_ZN3upx12compile_time8set_be64EPhy:
  139|  44.0k|forceinline constexpr void set_be64(byte *p, upx_uint64_t v) noexcept {
  140|  44.0k|    p[0] = (byte) ((v >> 56) & 0xff);
  141|  44.0k|    p[1] = (byte) ((v >> 48) & 0xff);
  142|  44.0k|    p[2] = (byte) ((v >> 40) & 0xff);
  143|  44.0k|    p[3] = (byte) ((v >> 32) & 0xff);
  144|  44.0k|    p[4] = (byte) ((v >> 24) & 0xff);
  145|  44.0k|    p[5] = (byte) ((v >> 16) & 0xff);
  146|  44.0k|    p[6] = (byte) ((v >> 8) & 0xff);
  147|  44.0k|    p[7] = (byte) ((v >> 0) & 0xff);
  148|  44.0k|}
_ZN3upx12compile_time8get_le16EPKh:
  150|  58.7k|forceinline constexpr upx_uint16_t get_le16(const byte *p) noexcept {
  151|  58.7k|    typedef unsigned U;
  152|  58.7k|    return (upx_uint16_t) (((U) p[0] << 0) | ((U) p[1] << 8));
  153|  58.7k|}
_ZN3upx12compile_time8get_le24EPKh:
  154|   677k|forceinline constexpr upx_uint32_t get_le24(const byte *p) noexcept {
  155|   677k|    typedef upx_uint32_t U;
  156|   677k|    return (upx_uint32_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16));
  157|   677k|}
_ZN3upx12compile_time8get_le32EPKh:
  158|  58.7k|forceinline constexpr upx_uint32_t get_le32(const byte *p) noexcept {
  159|  58.7k|    typedef upx_uint32_t U;
  160|  58.7k|    return (upx_uint32_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16) | ((U) p[3] << 24));
  161|  58.7k|}
_ZN3upx12compile_time8get_le64EPKh:
  162|  58.7k|forceinline constexpr upx_uint64_t get_le64(const byte *p) noexcept {
  163|  58.7k|    typedef upx_uint64_t U;
  164|  58.7k|    return (upx_uint64_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16) | ((U) p[3] << 24) |
  165|  58.7k|                           ((U) p[4] << 32) | ((U) p[5] << 40) | ((U) p[6] << 48) |
  166|  58.7k|                           ((U) p[7] << 56));
  167|  58.7k|}
_ZN3upx12compile_time8set_le16EPht:
  169|  44.0k|forceinline constexpr void set_le16(byte *p, upx_uint16_t v) noexcept {
  170|  44.0k|    p[0] = (byte) ((v >> 0) & 0xff);
  171|  44.0k|    p[1] = (byte) ((v >> 8) & 0xff);
  172|  44.0k|}
_ZN3upx12compile_time8set_le24EPhj:
  173|   589k|forceinline constexpr void set_le24(byte *p, upx_uint32_t v) noexcept {
  174|   589k|    p[0] = (byte) ((v >> 0) & 0xff);
  175|   589k|    p[1] = (byte) ((v >> 8) & 0xff);
  176|   589k|    p[2] = (byte) ((v >> 16) & 0xff);
  177|   589k|}
_ZN3upx12compile_time8set_le32EPhj:
  178|  44.0k|forceinline constexpr void set_le32(byte *p, upx_uint32_t v) noexcept {
  179|  44.0k|    p[0] = (byte) ((v >> 0) & 0xff);
  180|  44.0k|    p[1] = (byte) ((v >> 8) & 0xff);
  181|  44.0k|    p[2] = (byte) ((v >> 16) & 0xff);
  182|  44.0k|    p[3] = (byte) ((v >> 24) & 0xff);
  183|  44.0k|}
_ZN3upx12compile_time8set_le64EPhy:
  184|  44.0k|forceinline constexpr void set_le64(byte *p, upx_uint64_t v) noexcept {
  185|  44.0k|    p[0] = (byte) ((v >> 0) & 0xff);
  186|  44.0k|    p[1] = (byte) ((v >> 8) & 0xff);
  187|  44.0k|    p[2] = (byte) ((v >> 16) & 0xff);
  188|  44.0k|    p[3] = (byte) ((v >> 24) & 0xff);
  189|  44.0k|    p[4] = (byte) ((v >> 32) & 0xff);
  190|  44.0k|    p[5] = (byte) ((v >> 40) & 0xff);
  191|  44.0k|    p[6] = (byte) ((v >> 48) & 0xff);
  192|  44.0k|    p[7] = (byte) ((v >> 56) & 0xff);
  193|  44.0k|}
_ZN3upx12compile_time8get_ne24EPKh:
  204|   205k|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|   205k|}
_ZN3upx12compile_time8set_ne24EPhj:
  241|   205k|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|   205k|}
_ZN3upx14has_single_bitImEEbRKT_:
  434|   102k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   102k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 102k, False: 0]
  |  Branch (435:25): [True: 102k, False: 0]
  ------------------
  436|   102k|}
_ZN3upx15ptr_static_castIPKhKvEET_PT0_:
  519|  2.33M|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  2.33M|    static_assert(std::is_pointer_v<Result>);
  521|  2.33M|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  2.33M|                               void *>
  523|  2.33M|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  2.33M|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  2.33M|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  2.33M|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  2.33M|}
_ZN3upx15ptr_static_castIPhvEET_PT0_:
  519|  73.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  73.3k|    static_assert(std::is_pointer_v<Result>);
  521|  73.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  73.3k|                               void *>
  523|  73.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  73.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  73.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  73.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  73.3k|}
_ZN3upx15ptr_static_castIPhtEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPhjEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPhyEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPKhKtEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPKhKjEET_PT0_:
  519|  30.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  30.2k|    static_assert(std::is_pointer_v<Result>);
  521|  30.2k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  30.2k|                               void *>
  523|  30.2k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  30.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  30.2k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  30.2k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  30.2k|}
_ZN3upx15ptr_static_castIPKhKyEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx3minIcEET_RKS1_S3_:
  474|  58.7k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  58.7k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 58.7k]
  ------------------
  476|  58.7k|}
_ZN3upx3maxIcEET_RKS1_S3_:
  478|  58.7k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  58.7k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 58.7k, False: 0]
  ------------------
  480|  58.7k|}
_ZN3upx10align_downIcEET_RKS1_S3_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upIcEET_RKS1_S3_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapIcEET_RKS1_S3_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx3minIaEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxIaEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downIaEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIaEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIaEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIhEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxIhEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downIhEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIhEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIhEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIsEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxIsEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downIsEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIsEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIsEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minItEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxItEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downItEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upItEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapItEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIiEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxIiEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downIiEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIiEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIiEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIjEET_RKS1_S3_:
  474|  1.99M|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  1.99M|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 704k, False: 1.29M]
  ------------------
  476|  1.99M|}
_ZN3upx3maxIjEET_RKS1_S3_:
  478|  1.99M|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  1.99M|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 823k, False: 1.17M]
  ------------------
  480|  1.99M|}
_ZN3upx10align_downIjEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIjEET_RKS1_S3_:
  457|   470k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   470k|    T r = {};
  460|   470k|    constexpr T zero = {};
  461|   470k|    r = x + ((zero - x) & (alignment - 1));
  462|   470k|    return r;
  463|   470k|}
_ZN3upx12align_up_gapIjEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIlEET_RKS1_S3_:
  474|   352k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   352k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 352k]
  ------------------
  476|   352k|}
_ZN3upx3maxIlEET_RKS1_S3_:
  478|   352k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   352k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 352k, False: 0]
  ------------------
  480|   352k|}
_ZN3upx10align_downIlEET_RKS1_S3_:
  443|  1.40M|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|  1.40M|    T r = {};
  446|  1.40M|    r = x - (x & (alignment - 1));
  447|  1.40M|    return r;
  448|  1.40M|}
_ZN3upx8align_upIlEET_RKS1_S3_:
  457|  1.40M|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|  1.40M|    T r = {};
  460|  1.40M|    constexpr T zero = {};
  461|  1.40M|    r = x + ((zero - x) & (alignment - 1));
  462|  1.40M|    return r;
  463|  1.40M|}
_ZN3upx12align_up_gapIlEET_RKS1_S3_:
  465|  1.40M|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|  1.40M|    T r = {};
  468|  1.40M|    constexpr T zero = {};
  469|  1.40M|    r = (zero - x) & (alignment - 1);
  470|  1.40M|    return r;
  471|  1.40M|}
_ZN3upx3minImEET_RKS1_S3_:
  474|   410k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   410k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 410k]
  ------------------
  476|   410k|}
_ZN3upx3maxImEET_RKS1_S3_:
  478|   410k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   410k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 410k, False: 0]
  ------------------
  480|   410k|}
_ZN3upx10align_downImEET_RKS1_S3_:
  443|  1.67M|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|  1.67M|    T r = {};
  446|  1.67M|    r = x - (x & (alignment - 1));
  447|  1.67M|    return r;
  448|  1.67M|}
_ZN3upx8align_upImEET_RKS1_S3_:
  457|  1.67M|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|  1.67M|    T r = {};
  460|  1.67M|    constexpr T zero = {};
  461|  1.67M|    r = x + ((zero - x) & (alignment - 1));
  462|  1.67M|    return r;
  463|  1.67M|}
_ZN3upx12align_up_gapImEET_RKS1_S3_:
  465|  1.67M|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|  1.67M|    T r = {};
  468|  1.67M|    constexpr T zero = {};
  469|  1.67M|    r = (zero - x) & (alignment - 1);
  470|  1.67M|    return r;
  471|  1.67M|}
_ZN3upx3minIxEET_RKS1_S3_:
  474|   176k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   176k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 176k]
  ------------------
  476|   176k|}
_ZN3upx3maxIxEET_RKS1_S3_:
  478|   176k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   176k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 176k, False: 0]
  ------------------
  480|   176k|}
_ZN3upx10align_downIxEET_RKS1_S3_:
  443|   704k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   704k|    T r = {};
  446|   704k|    r = x - (x & (alignment - 1));
  447|   704k|    return r;
  448|   704k|}
_ZN3upx8align_upIxEET_RKS1_S3_:
  457|   704k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   704k|    T r = {};
  460|   704k|    constexpr T zero = {};
  461|   704k|    r = x + ((zero - x) & (alignment - 1));
  462|   704k|    return r;
  463|   704k|}
_ZN3upx12align_up_gapIxEET_RKS1_S3_:
  465|   704k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   704k|    T r = {};
  468|   704k|    constexpr T zero = {};
  469|   704k|    r = (zero - x) & (alignment - 1);
  470|   704k|    return r;
  471|   704k|}
_ZN3upx3minIyEET_RKS1_S3_:
  474|  1.05M|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  1.05M|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 352k, False: 704k]
  ------------------
  476|  1.05M|}
_ZN3upx3maxIyEET_RKS1_S3_:
  478|  1.05M|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  1.05M|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 469k, False: 587k]
  ------------------
  480|  1.05M|}
_ZN3upx10align_downIyEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIyEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIyEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minInEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxInEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downInEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upInEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapInEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx3minIoEET_RKS1_S3_:
  474|   117k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   117k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 117k]
  ------------------
  476|   117k|}
_ZN3upx3maxIoEET_RKS1_S3_:
  478|   117k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   117k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 0]
  ------------------
  480|   117k|}
_ZN3upx10align_downIoEET_RKS1_S3_:
  443|   469k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   469k|    T r = {};
  446|   469k|    r = x - (x & (alignment - 1));
  447|   469k|    return r;
  448|   469k|}
_ZN3upx8align_upIoEET_RKS1_S3_:
  457|   469k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   469k|    T r = {};
  460|   469k|    constexpr T zero = {};
  461|   469k|    r = x + ((zero - x) & (alignment - 1));
  462|   469k|    return r;
  463|   469k|}
_ZN3upx12align_up_gapIoEET_RKS1_S3_:
  465|   469k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   469k|    T r = {};
  468|   469k|    constexpr T zero = {};
  469|   469k|    r = (zero - x) & (alignment - 1);
  470|   469k|    return r;
  471|   469k|}
_ZN3upx10align_downI4LE16EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4LE16EET_RKS2_S4_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapI4LE16EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4LE16EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4LE16EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4LE16EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx10align_downI4LE32EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4LE32EET_RKS2_S4_:
  457|   235k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   235k|    T r = {};
  460|   235k|    constexpr T zero = {};
  461|   235k|    r = x + ((zero - x) & (alignment - 1));
  462|   235k|    return r;
  463|   235k|}
_ZN3upx12align_up_gapI4LE32EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4LE32EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4LE32EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4LE32EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx10align_downI4LE64EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4LE64EET_RKS2_S4_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapI4LE64EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4LE64EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4LE64EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4LE64EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx10align_downI4BE16EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4BE16EET_RKS2_S4_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapI4BE16EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4BE16EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4BE16EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4BE16EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx10align_downI4BE32EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4BE32EET_RKS2_S4_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapI4BE32EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4BE32EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4BE32EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4BE32EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx10align_downI4BE64EET_RKS2_S4_:
  443|   234k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   234k|    T r = {};
  446|   234k|    r = x - (x & (alignment - 1));
  447|   234k|    return r;
  448|   234k|}
_ZN3upx8align_upI4BE64EET_RKS2_S4_:
  457|   234k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   234k|    T r = {};
  460|   234k|    constexpr T zero = {};
  461|   234k|    r = x + ((zero - x) & (alignment - 1));
  462|   234k|    return r;
  463|   234k|}
_ZN3upx12align_up_gapI4BE64EET_RKS2_S4_:
  465|   234k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   234k|    T r = {};
  468|   234k|    constexpr T zero = {};
  469|   234k|    r = (zero - x) & (alignment - 1);
  470|   234k|    return r;
  471|   234k|}
_ZN3upx14has_single_bitI4BE64EEbRKT_:
  434|   117k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   117k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 58.7k, False: 58.7k]
  |  Branch (435:25): [True: 29.3k, False: 29.3k]
  ------------------
  436|   117k|}
_ZN3upx3minI4BE64EET_RKS2_S4_:
  474|   293k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   293k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 58.7k, False: 234k]
  ------------------
  476|   293k|}
_ZN3upx3maxI4BE64EET_RKS2_S4_:
  478|   293k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 117k, False: 176k]
  ------------------
  480|   293k|}
_ZN3upx15ptr_static_castIPKhKcEET_PT0_:
  519|   117k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   117k|    static_assert(std::is_pointer_v<Result>);
  521|   117k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   117k|                               void *>
  523|   117k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   117k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   117k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   117k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   117k|}
_ZN3upx15ptr_static_castIPKcKhEET_PT0_:
  519|   117k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   117k|    static_assert(std::is_pointer_v<Result>);
  521|   117k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   117k|                               void *>
  523|   117k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   117k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   117k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   117k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   117k|}
_ZN3upx15ptr_static_castIPvvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPvhEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPviEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPvdEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPhhEET_PT0_:
  519|   871k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   871k|    static_assert(std::is_pointer_v<Result>);
  521|   871k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   871k|                               void *>
  523|   871k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   871k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   871k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   871k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   871k|}
_ZN3upx15ptr_static_castIPhiEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPhdEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPivEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPihEET_PT0_:
  519|  44.0k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  44.0k|    static_assert(std::is_pointer_v<Result>);
  521|  44.0k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  44.0k|                               void *>
  523|  44.0k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  44.0k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  44.0k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  44.0k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  44.0k|}
_ZN3upx15ptr_static_castIPiiEET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPidEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPdvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPdhEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPdiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPddEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKhS1_EET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKhKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKiKhEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKiS1_EET_PT0_:
  519|  29.3k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  29.3k|    static_assert(std::is_pointer_v<Result>);
  521|  29.3k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  29.3k|                               void *>
  523|  29.3k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  29.3k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  29.3k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  29.3k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  29.3k|}
_ZN3upx15ptr_static_castIPKvhEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKihEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPKchEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKvKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPKcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPKcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPKcKiEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPvPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKvPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPiPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKiPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPKcPlEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPvPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKvPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPiPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKiPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPPPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIKPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKPKPKcPKPxEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15atomic_exchangeImEET_PS1_S1_:
  545|  14.6k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  14.6k|#if 1
  547|  14.6k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  14.6k|#endif
  549|  14.6k|    static_assert(std::is_standard_layout_v<T>);
  550|  14.6k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  14.6k|#if !(WITH_THREADS)
  552|  14.6k|    const T old_value = *ptr;
  553|  14.6k|    *ptr = new_value;
  554|  14.6k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  14.6k|}
_ZN3upx15atomic_exchangeIPKiEET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx13ObjectDeleterI4LE16EC2EPPS1_m:
  574|  29.3k|    explicit ObjectDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx12ArrayDeleterI4LE32EC2EPPS1_m:
  588|  29.3k|    explicit ArrayDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4LE64EC2EPPS1_m:
  601|  29.3k|    explicit MallocDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4LE64ED2Ev:
  602|  29.3k|    ~MallocDeleter() noexcept { delete_items(); }
_ZN3upx13MallocDeleterI4LE64E12delete_itemsEv:
  603|  29.3k|    void delete_items() noexcept {
  604|  58.7k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (604:33): [True: 29.3k, False: 29.3k]
  ------------------
  605|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  606|       |            // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  607|  29.3k|            ::free(item); // free memory from malloc()
  608|  29.3k|        }
  609|  29.3k|    }
_ZN3upx15atomic_exchangeIP4LE64EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx12ArrayDeleterI4LE32ED2Ev:
  589|  29.3k|    ~ArrayDeleter() noexcept { delete_items(); }
_ZN3upx12ArrayDeleterI4LE32E12delete_itemsEv:
  590|  29.3k|    void delete_items() noexcept {
  591|  58.7k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (591:33): [True: 29.3k, False: 29.3k]
  ------------------
  592|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  593|  29.3k|            delete[] item; // array delete
  594|  29.3k|        }
  595|  29.3k|    }
_ZN3upx15atomic_exchangeIP4LE32EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx13ObjectDeleterI4LE16ED2Ev:
  575|  29.3k|    ~ObjectDeleter() noexcept { delete_items(); }
_ZN3upx13ObjectDeleterI4LE16E12delete_itemsEv:
  576|  29.3k|    void delete_items() noexcept {
  577|  58.7k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (577:33): [True: 29.3k, False: 29.3k]
  ------------------
  578|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  579|  29.3k|            delete item; // single object delete
  580|  29.3k|        }
  581|  29.3k|    }
_ZN3upx15atomic_exchangeIP4LE16EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx13ObjectDeleterI4BE16EC2EPPS1_m:
  574|  14.6k|    explicit ObjectDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx12ArrayDeleterI4BE32EC2EPPS1_m:
  588|  14.6k|    explicit ArrayDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4BE64EC2EPPS1_m:
  601|  14.6k|    explicit MallocDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4BE64ED2Ev:
  602|  14.6k|    ~MallocDeleter() noexcept { delete_items(); }
_ZN3upx13MallocDeleterI4BE64E12delete_itemsEv:
  603|  14.6k|    void delete_items() noexcept {
  604|  44.0k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (604:33): [True: 29.3k, False: 14.6k]
  ------------------
  605|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  606|       |            // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  607|  29.3k|            ::free(item); // free memory from malloc()
  608|  29.3k|        }
  609|  14.6k|    }
_ZN3upx15atomic_exchangeIP4BE64EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx12ArrayDeleterI4BE32ED2Ev:
  589|  14.6k|    ~ArrayDeleter() noexcept { delete_items(); }
_ZN3upx12ArrayDeleterI4BE32E12delete_itemsEv:
  590|  14.6k|    void delete_items() noexcept {
  591|  44.0k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (591:33): [True: 29.3k, False: 14.6k]
  ------------------
  592|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  593|  29.3k|            delete[] item; // array delete
  594|  29.3k|        }
  595|  14.6k|    }
_ZN3upx15atomic_exchangeIP4BE32EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx13ObjectDeleterI4BE16ED2Ev:
  575|  14.6k|    ~ObjectDeleter() noexcept { delete_items(); }
_ZN3upx13ObjectDeleterI4BE16E12delete_itemsEv:
  576|  14.6k|    void delete_items() noexcept {
  577|  44.0k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (577:33): [True: 29.3k, False: 14.6k]
  ------------------
  578|  29.3k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  579|  29.3k|            delete item; // single object delete
  580|  29.3k|        }
  581|  14.6k|    }
_ZN3upx15atomic_exchangeIP4BE16EET_PS3_S3_:
  545|  29.3k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  546|  29.3k|#if 1
  547|  29.3k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  548|  29.3k|#endif
  549|  29.3k|    static_assert(std::is_standard_layout_v<T>);
  550|  29.3k|    static_assert(std::is_trivially_copyable_v<T>);
  551|  29.3k|#if !(WITH_THREADS)
  552|  29.3k|    const T old_value = *ptr;
  553|  29.3k|    *ptr = new_value;
  554|  29.3k|    return old_value;
  555|       |#else
  556|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  557|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  558|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  559|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  560|       |#elif __has_builtin(__sync_swap)
  561|       |    return __sync_swap(ptr, new_value);
  562|       |#else
  563|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  564|       |#endif
  565|       |#endif
  566|  29.3k|}
_ZN3upx14align_down_gapImEET_RKS1_S3_:
  450|  29.3k|inline constexpr T align_down_gap(const T &x, const T &alignment) noexcept {
  451|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  452|  29.3k|    T r = {};
  453|  29.3k|    r = x & (alignment - 1);
  454|  29.3k|    return r;
  455|  29.3k|}
_ZN3upx15ptr_static_castIPvcEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPcvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPKhvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPtvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPtcEET_PT0_:
  519|   410k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   410k|    static_assert(std::is_pointer_v<Result>);
  521|   410k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   410k|                               void *>
  523|   410k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   410k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   410k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   410k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   410k|}
_ZN3upx15ptr_static_castIPctEET_PT0_:
  519|  58.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  58.7k|    static_assert(std::is_pointer_v<Result>);
  521|  58.7k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  58.7k|                               void *>
  523|  58.7k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  58.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  58.7k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  58.7k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  58.7k|}
_ZN3upx15ptr_static_castIPjvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPjcEET_PT0_:
  519|  58.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  58.7k|    static_assert(std::is_pointer_v<Result>);
  521|  58.7k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  58.7k|                               void *>
  523|  58.7k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  58.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  58.7k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  58.7k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  58.7k|}
_ZN3upx15ptr_static_castIPcjEET_PT0_:
  519|  58.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  58.7k|    static_assert(std::is_pointer_v<Result>);
  521|  58.7k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  58.7k|                               void *>
  523|  58.7k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  58.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  58.7k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  58.7k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  58.7k|}
_ZN3upx15ptr_static_castIPyvEET_PT0_:
  519|  14.6k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.6k|    static_assert(std::is_pointer_v<Result>);
  521|  14.6k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  14.6k|                               void *>
  523|  14.6k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  14.6k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  14.6k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  14.6k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  14.6k|}
_ZN3upx15ptr_static_castIPycEET_PT0_:
  519|  58.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  58.7k|    static_assert(std::is_pointer_v<Result>);
  521|  58.7k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  58.7k|                               void *>
  523|  58.7k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  58.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  58.7k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  58.7k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  58.7k|}
_ZN3upx15ptr_static_castIPcyEET_PT0_:
  519|  58.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  58.7k|    static_assert(std::is_pointer_v<Result>);
  521|  58.7k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  58.7k|                               void *>
  523|  58.7k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  58.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  58.7k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  58.7k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  58.7k|}
_ZN3upx7TriBoolIiLb0EEC2Ev:
  630|  29.3k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIiLb0EE8getValueEv:
  649|   146k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIiLb0EEcvbEv:
  640|  1.43M|    explicit constexpr operator bool() const noexcept {
  641|  1.43M|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 1.43M]
  ------------------
  642|  1.43M|    }
_ZNK3upx7TriBoolIiLb0EE13isStrictFalseEv:
  644|   176k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIiLb0EE12isStrictTrueEv:
  645|   146k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIiLb0EE12isStrictBoolEv:
  646|   146k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 58.7k, False: 88.0k]
  |  Branch (646:77): [True: 29.3k, False: 58.7k]
  ------------------
_ZNK3upx7TriBoolIiLb0EE7isThirdEv:
  647|   978k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 88.1k, False: 890k]
  |  Branch (647:72): [True: 58.8k, False: 29.3k]
  ------------------
_ZN3upx7TriBoolIiLb0EEC2Ei:
  633|  1.04M|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 972k, False: 77.3k]
  |  Branch (633:75): [True: 47.9k, False: 29.4k]
  ------------------
_ZN3upx7TriBoolIiLb0EEC2ENS1_10value_typeE:
  631|  29.3k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIaLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIaLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIaLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIaLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIaLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIaLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIaLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIaLb0EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIaLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIhLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIhLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIhLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIhLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIhLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIhLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIhLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIhLb0EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIhLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIsLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIsLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIsLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIsLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIsLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIsLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIsLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIsLb0EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIsLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolItLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolItLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolItLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolItLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolItLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolItLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolItLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolItLb0EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolItLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIjLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIjLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIjLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIjLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIjLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIjLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIjLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIjLb0EEC2Ej:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIjLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIxLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIxLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIxLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIxLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIxLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIxLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIxLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIxLb0EEC2Ex:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIxLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIyLb0EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIyLb0EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIyLb0EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [Folded, False: 234k]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIyLb0EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIyLb0EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIyLb0EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIyLb0EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIyLb0EEC2Ey:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIyLb0EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIaLb1EEC2Ev:
  630|  3.82M|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIaLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIaLb1EEcvbEv:
  640|   616k|    explicit constexpr operator bool() const noexcept {
  641|   616k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 616k, Folded]
  ------------------
  642|   616k|    }
_ZNK3upx7TriBoolIaLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIaLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIaLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIaLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIaLb1EEC2Ei:
  633|  4.40M|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 176k, False: 4.22M]
  |  Branch (633:75): [True: 14.6k, False: 4.21M]
  ------------------
_ZN3upx7TriBoolIaLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIhLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIhLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIhLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIhLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIhLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIhLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIhLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIhLb1EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIhLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIsLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIsLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIsLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIsLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIsLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIsLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIsLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIsLb1EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIsLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolItLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolItLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolItLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolItLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolItLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolItLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolItLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolItLb1EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolItLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIiLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIiLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIiLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIiLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIiLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIiLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIiLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIiLb1EEC2Ei:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIiLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIjLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIjLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIjLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIjLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIjLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIjLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIjLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIjLb1EEC2Ej:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIjLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIxLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIxLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIxLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIxLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIxLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIxLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIxLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIxLb1EEC2Ex:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIxLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIyLb1EEC2Ev:
  630|  14.6k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIyLb1EE8getValueEv:
  649|  73.3k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIyLb1EEcvbEv:
  640|   234k|    explicit constexpr operator bool() const noexcept {
  641|   234k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (641:16): [True: 234k, Folded]
  ------------------
  642|   234k|    }
_ZNK3upx7TriBoolIyLb1EE13isStrictFalseEv:
  644|  88.0k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIyLb1EE12isStrictTrueEv:
  645|  73.3k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIyLb1EE12isStrictBoolEv:
  646|  73.3k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (646:59): [True: 29.3k, False: 44.0k]
  |  Branch (646:77): [True: 14.6k, False: 29.3k]
  ------------------
_ZNK3upx7TriBoolIyLb1EE7isThirdEv:
  647|  73.3k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (647:54): [True: 44.0k, False: 29.3k]
  |  Branch (647:72): [True: 29.3k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIyLb1EEC2Ey:
  633|  44.0k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (633:57): [True: 14.6k, False: 29.3k]
  |  Branch (633:75): [True: 14.6k, False: 14.6k]
  ------------------
_ZN3upx7TriBoolIyLb1EEC2ENS1_10value_typeE:
  631|  14.6k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx15ptr_static_castIP4LE32iEET_PT0_:
  519|   264k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   264k|    static_assert(std::is_pointer_v<Result>);
  521|   264k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   264k|                               void *>
  523|   264k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   264k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   264k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   264k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   264k|}
_ZN3upx15ptr_static_castIPK4LE32iEET_PT0_:
  519|   132k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   132k|    static_assert(std::is_pointer_v<Result>);
  521|   132k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   132k|                               void *>
  523|   132k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   132k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   132k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   132k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   132k|}
_ZN3upx15ptr_static_castIPK4LE32KhEET_PT0_:
  519|   132k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   132k|    static_assert(std::is_pointer_v<Result>);
  521|   132k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|   132k|                               void *>
  523|   132k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|   132k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|   132k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|   132k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|   132k|}
_ZN3upx4uminIjjEET_RKS1_S3_:
  486|  5.15k|forceinline constexpr T umin(const T &a, const T &b) noexcept {
  487|  5.15k|    return b < a ? b : a;
  ------------------
  |  Branch (487:12): [True: 2.37k, False: 2.78k]
  ------------------
  488|  5.15k|}
_ZN3upx4uminIyyEET_RKS1_S3_:
  486|  1.33k|forceinline constexpr T umin(const T &a, const T &b) noexcept {
  487|  1.33k|    return b < a ? b : a;
  ------------------
  |  Branch (487:12): [True: 0, False: 1.33k]
  ------------------
  488|  1.33k|}
_ZN3upx4umaxIjjEET_RKS1_S3_:
  490|  9.04k|forceinline constexpr T umax(const T &a, const T &b) noexcept {
  491|  9.04k|    return a < b ? b : a;
  ------------------
  |  Branch (491:12): [True: 5.18k, False: 3.86k]
  ------------------
  492|  9.04k|}
_ZN3upx4umaxImmEET_RKS1_S3_:
  490|   293k|forceinline constexpr T umax(const T &a, const T &b) noexcept {
  491|   293k|    return a < b ? b : a;
  ------------------
  |  Branch (491:12): [True: 146k, False: 146k]
  ------------------
  492|   293k|}
_ZN3upx6OptVarIjLj2ELj0ELj4EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx6OptVarIjLj0ELj0ELj4EE5resetEv:
  707|   352k|    void reset() noexcept {
  708|   352k|        value = default_value;
  709|   352k|        is_set = false;
  710|   352k|    }
_ZN3upx6OptVarIjLj3ELj0ELj8EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx6OptVarIjLj4194304ELj1ELj1073741824EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx6OptVarIjLj64ELj5ELj273EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx6OptVarIjLj8ELj1ELj9EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj15ELj9ELj15EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj0ELj0ELj4EEC2Ev:
  687|   293k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj8ELj1ELj9EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx6OptVarIjLj15ELj9ELj15EE5resetEv:
  707|   176k|    void reset() noexcept {
  708|   176k|        value = default_value;
  709|   176k|        is_set = false;
  710|   176k|    }
_ZN3upx10owner_freeIcEEvRPT_:
  794|  4.43M|inline void owner_free(OwningPointer(T)(&object)) noexcept {
  795|  4.43M|    static_assert(!std::is_class_v<T>); // UPX convention
  796|  4.43M|    if (object != nullptr) {
  ------------------
  |  Branch (796:9): [True: 4.43M, False: 0]
  ------------------
  797|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  798|  4.43M|        ::free((T *) object); // free memory from malloc()
  799|  4.43M|        object = nullptr;
  800|  4.43M|    }
  801|  4.43M|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  515|  4.43M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.86M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.43M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  802|  4.43M|    assert_noexcept(object == nullptr);
  ------------------
  |  |  515|  4.43M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.86M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.43M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  803|  4.43M|}
_ZN3upx6OptVarIjLj2ELj0ELj4EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj3ELj0ELj8EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj4194304ELj1ELj1073741824EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj64ELj5ELj273EEC2Ev:
  687|   146k|    explicit constexpr OptVar() noexcept {}
_ZN3upx15ptr_static_castIPKhK4LE16EET_PT0_:
  519|  15.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  15.2k|    static_assert(std::is_pointer_v<Result>);
  521|  15.2k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  15.2k|                               void *>
  523|  15.2k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  15.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  15.2k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  15.2k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  15.2k|}
_ZN3upx15ptr_static_castIPK21upx_charptr_unit_typeKhEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|      6|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|      6|                               void *>
  523|      6|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|      6|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|      6|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|      6|}
_ZN3upx15ptr_static_castIPK21upx_charptr_unit_typehEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|      6|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|      6|                               void *>
  523|      6|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|      6|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|      6|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|      6|}
_ZN3upx15ptr_static_castIPKhK4LE32EET_PT0_:
  519|  4.52k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  4.52k|    static_assert(std::is_pointer_v<Result>);
  521|  4.52k|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  4.52k|                               void *>
  523|  4.52k|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  4.52k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  4.52k|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  4.52k|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  4.52k|}
_ZN3upx12owner_deleteI8UiPackerEEvRPT_:
  782|   436k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  783|   436k|    static_assert(std::is_class_v<T>); // UPX convention
  784|   436k|    static_assert(std::is_nothrow_destructible_v<T>);
  785|   436k|    if (object != nullptr) {
  ------------------
  |  Branch (785:9): [True: 436k, False: 0]
  ------------------
  786|   436k|        delete (T *) object; // single object delete
  787|   436k|        object = nullptr;
  788|   436k|    }
  789|   436k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  790|   436k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  791|   436k|}
_ZN3upx12owner_deleteI9ElfLinkerEEvRPT_:
  782|   436k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  783|   436k|    static_assert(std::is_class_v<T>); // UPX convention
  784|   436k|    static_assert(std::is_nothrow_destructible_v<T>);
  785|   436k|    if (object != nullptr) {
  ------------------
  |  Branch (785:9): [True: 0, False: 436k]
  ------------------
  786|      0|        delete (T *) object; // single object delete
  787|      0|        object = nullptr;
  788|      0|    }
  789|   436k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  790|   436k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  791|   436k|}
_ZN3upx12owner_deleteI10PackerBaseEEvRPT_:
  782|  14.6k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  783|  14.6k|    static_assert(std::is_class_v<T>); // UPX convention
  784|  14.6k|    static_assert(std::is_nothrow_destructible_v<T>);
  785|  14.6k|    if (object != nullptr) {
  ------------------
  |  Branch (785:9): [True: 6.62k, False: 8.03k]
  ------------------
  786|  6.62k|        delete (T *) object; // single object delete
  787|  6.62k|        object = nullptr;
  788|  6.62k|    }
  789|  14.6k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  790|  14.6k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  515|  14.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  791|  14.6k|}
_ZN3upx15ptr_static_castIPhN6PeFile5Reloc9BaseRelocEEET_PT0_:
  519|    462|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|    462|    static_assert(std::is_pointer_v<Result>);
  521|    462|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|    462|                               void *>
  523|    462|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|    462|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|    462|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|    462|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|    462|}
_ZN3upx15ptr_static_castIPN6PeFile5Reloc9BaseRelocEhEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|      6|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|      6|                               void *>
  523|      6|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|      6|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|      6|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|      6|}
_ZN3upx15ptr_static_castIP4LE16hEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|      6|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|      6|                               void *>
  523|      6|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|      6|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|      6|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|      6|}
_ZN3upx12owner_deleteIN8UiPacker5StateEEEvRPT_:
  782|   436k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  783|   436k|    static_assert(std::is_class_v<T>); // UPX convention
  784|   436k|    static_assert(std::is_nothrow_destructible_v<T>);
  785|   436k|    if (object != nullptr) {
  ------------------
  |  Branch (785:9): [True: 436k, False: 0]
  ------------------
  786|   436k|        delete (T *) object; // single object delete
  787|   436k|        object = nullptr;
  788|   436k|    }
  789|   436k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  790|   436k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  515|   436k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   873k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 436k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  791|   436k|}
_ZN3upx15ptr_static_castIPKhhEET_PT0_:
  519|  8.50M|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  8.50M|    static_assert(std::is_pointer_v<Result>);
  521|  8.50M|    typedef std::conditional_t<std::is_const_v<std::remove_pointer_t<Result> >, const void *,
  522|  8.50M|                               void *>
  523|  8.50M|        VoidPtr;
  524|       |    // don't cast through "void *" if type is convertible
  525|  8.50M|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, VoidPtr>
  526|  8.50M|        ResultPtr;
  527|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  528|  8.50M|    return static_cast<Result>(static_cast<ResultPtr>(ptr));
  529|  8.50M|}

_Z22membuffer_get_void_ptrR9MemBuffer:
   35|   197k|void *membuffer_get_void_ptr(MemBuffer &mb) noexcept { return mb.getVoidPtr(); }
_Z27membuffer_get_size_in_bytesRK9MemBuffer:
   37|   197k|unsigned membuffer_get_size_in_bytes(const MemBuffer &mb) noexcept { return mb.getSizeInBytes(); }
_ZN9MemBufferC2Ey:
   79|   369k|MemBuffer::MemBuffer(upx_uint64_t bytes) may_throw : MemBufferBase<byte>() {
   80|   369k|    static_assert(element_size == 1);
   81|   369k|    alloc(bytes);
   82|   369k|    debug_set(debug.last_return_address_alloc, upx_return_address());
   83|   369k|}
_ZN9MemBufferD2Ev:
   85|  3.28M|MemBuffer::~MemBuffer() noexcept { this->dealloc(); }
_ZN9MemBuffer21getSizeForCompressionEjj:
   88|   161k|unsigned MemBuffer::getSizeForCompression(unsigned uncompressed_size, unsigned extra) may_throw {
   89|   161k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (89:9): [True: 14.6k, False: 146k]
  ------------------
   90|  14.6k|        throwCantPack("invalid uncompressed_size");
   91|   146k|    const size_t z = uncompressed_size; // fewer keystrokes and display columns
   92|   146k|    upx_rsize_t bytes = mem_size(1, z); // check size
   93|       |    // All literal: 1 bit overhead per literal byte; from UCL documentation
   94|   146k|    bytes = upx::umax(bytes, z + z / 8 + 256);
   95|       |    // zstd: ZSTD_COMPRESSBOUND
   96|   146k|    bytes = upx::umax(bytes, z + (z >> 8) + ((z < (128 << 10)) ? (((128 << 10) - z) >> 11) : 0));
  ------------------
  |  Branch (96:46): [True: 44.0k, False: 102k]
  ------------------
   97|       |    // add extra and 256 safety for various rounding/alignments
   98|   146k|    bytes = mem_size(1, bytes, extra, 256);
   99|   146k|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|   146k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   146k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  100|   161k|}
_ZN9MemBuffer23getSizeForDecompressionEjj:
  103|  14.9k|unsigned MemBuffer::getSizeForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  104|  14.9k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (104:9): [True: 14.6k, False: 280]
  ------------------
  105|  14.6k|        throwCantPack("invalid uncompressed_size");
  106|    280|    const upx_rsize_t bytes = mem_size(1, uncompressed_size, extra); // check size
  107|    280|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|    280|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|    280|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  108|  14.9k|}
_ZN9MemBuffer21allocForDecompressionEjj:
  116|    277|void MemBuffer::allocForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  117|    277|    const unsigned bytes = getSizeForDecompression(uncompressed_size, extra);
  118|    277|    alloc(bytes);
  119|    277|    debug_set(debug.last_return_address_alloc, upx_return_address());
  120|    277|}
_ZN9MemBuffer4fillEmmi:
  122|   297k|void MemBuffer::fill(size_t off, size_t bytes, int value) may_throw {
  123|   297k|    debug_set(debug.last_return_address_fill, upx_return_address());
  124|   297k|    checkState();
  125|       |    // check overrun and wrap-around
  126|   297k|    if very_unlikely (off + bytes > size_in_bytes || off + bytes < off)
  ------------------
  |  |  264|   297k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   297k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   595k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 297k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 297k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 297k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|      0|        throwCantPack("MemBuffer::fill out of range; take care!");
  128|   297k|    if (bytes > 0)
  ------------------
  |  Branch (128:9): [True: 297k, False: 0]
  ------------------
  129|   297k|        memset(ptr + off, value, bytes);
  130|   297k|}
_ZN9MemBuffer11subref_implEPKcmm:
  134|  7.33M|void *MemBuffer::subref_impl(const char *errfmt, size_t skip, size_t take) may_throw {
  135|  7.33M|    debug_set(debug.last_return_address_subref, upx_return_address());
  136|  7.33M|    checkState();
  137|       |    // check overrun and wrap-around
  138|  7.33M|    if very_unlikely (skip + take > size_in_bytes || skip + take < skip) {
  ------------------
  |  |  264|  7.33M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.33M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  12.5M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 2.64M, False: 4.69M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 2.17M, False: 5.16M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 469k, False: 4.69M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|  2.64M|        char buf[100];
  140|       |        // printf is using unsigned formatting
  141|  2.64M|        if (!errfmt || !errfmt[0])
  ------------------
  |  Branch (141:13): [True: 0, False: 2.64M]
  |  Branch (141:24): [True: 2.64M, False: 0]
  ------------------
  142|  2.64M|            errfmt = "bad subref %#x %#x";
  143|  2.64M|        upx_safe_snprintf(buf, sizeof(buf), errfmt, (unsigned) skip, (unsigned) take);
  144|  2.64M|        throwCantPack(buf);
  145|  2.64M|    }
  146|  4.69M|    return ptr + skip;
  147|  7.33M|}
_ZNK9MemBuffer10checkStateEv:
  158|  8.52M|void MemBuffer::checkState() const may_throw {
  159|  8.52M|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  8.52M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.52M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.52M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 8.50M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.6k|        throwInternalError("block not allocated");
  161|  8.50M|    assert(size_in_bytes > 0);
  ------------------
  |  |  512|  8.50M|    ((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.50M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  162|  8.50M|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (162:9): [True: 8.50M, False: 0]
  ------------------
  163|  8.50M|        const byte *p = upx::ptr_static_cast<const byte *>(ptr);
  164|  8.50M|        if very_unlikely (get_ne32(p - 4) != MAGIC1(p))
  ------------------
  |  |  264|  8.50M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.50M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.50M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 8.49M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|  14.6k|            throwInternalError("memory clobbered before allocated block 1");
  166|  8.49M|        if very_unlikely (get_ne32(p - 8) != size_in_bytes)
  ------------------
  |  |  264|  8.49M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.49M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.49M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.49M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|      0|            throwInternalError("memory clobbered before allocated block 2");
  168|  8.49M|        if very_unlikely (get_ne32(p + size_in_bytes) != MAGIC2(p))
  ------------------
  |  |  264|  8.49M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.49M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.49M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.49M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|      0|            throwInternalError("memory clobbered past end of allocated block");
  170|  8.49M|    }
  171|  8.50M|}
_ZN9MemBuffer5allocEy:
  173|   428k|void MemBuffer::alloc(const upx_uint64_t bytes) may_throw {
  174|       |    // INFO: we don't automatically free a used buffer
  175|   428k|    assert(ptr == nullptr);
  ------------------
  |  |  512|   428k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   856k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 428k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|   428k|    assert(size_in_bytes == 0);
  ------------------
  |  |  512|   428k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   856k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 428k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  177|       |    //
  178|   428k|    assert(bytes > 0);
  ------------------
  |  |  512|   428k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   856k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 428k, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  179|      0|    debug_set(debug.last_return_address_alloc, upx_return_address());
  180|   428k|    upx_rsize_t malloc_bytes = mem_size(1, bytes); // check size
  181|   428k|    if (use_simple_mcheck())
  ------------------
  |  Branch (181:9): [True: 413k, False: 14.6k]
  ------------------
  182|   413k|        malloc_bytes += 32;
  183|  14.6k|    else
  184|  14.6k|        malloc_bytes += 4;
  185|   428k|    byte *p = (byte *) ::malloc(malloc_bytes);
  186|   428k|    NO_printf("MemBuffer::alloc %llu: %p\n", bytes, p);
  187|   428k|    if (!p)
  ------------------
  |  Branch (187:9): [True: 0, False: 428k]
  ------------------
  188|      0|        throwOutOfMemoryException();
  189|   428k|    size_in_bytes = size_type(bytes);
  190|   428k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (190:9): [True: 413k, False: 14.6k]
  ------------------
  191|   413k|        p += 16;
  192|       |        // store magic constants to detect buffer overruns
  193|   413k|        set_ne32(p - 8, size_in_bytes);
  194|   413k|        set_ne32(p - 4, MAGIC1(p));
  ------------------
  |  |  155|   413k|#define MAGIC1(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb) | 1)
  |  |  ------------------
  |  |  |  |  154|   413k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  195|   413k|        set_ne32(p + size_in_bytes + 0, MAGIC2(p));
  ------------------
  |  |  156|   413k|#define MAGIC2(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb ^ 0x88224411) | 1)
  |  |  ------------------
  |  |  |  |  154|   413k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  196|   413k|        set_ne32(p + size_in_bytes + 4, stats.global_alloc_counter);
  197|   413k|    }
  198|   428k|    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|   428k|    stats.global_alloc_counter += 1;
  204|   428k|    stats.global_total_bytes += size_in_bytes;
  205|   428k|    stats.global_total_active_bytes += size_in_bytes;
  206|   428k|#if DEBUG || 1
  207|   428k|    checkState();
  208|   428k|#endif
  209|   428k|}
_ZN9MemBuffer7deallocEv:
  211|  3.28M|void MemBuffer::dealloc() noexcept {
  212|  3.28M|    if (ptr == nullptr) {
  ------------------
  |  Branch (212:9): [True: 2.86M, False: 413k]
  ------------------
  213|  2.86M|        assert_noexcept(size_in_bytes == 0);
  ------------------
  |  |  515|  2.86M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.73M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.86M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  214|      0|        return;
  215|  2.86M|    }
  216|   413k|    debug_set(debug.last_return_address_dealloc, upx_return_address());
  217|   413k|#if DEBUG || 1
  218|       |    // info: calling checkState() here violates "noexcept", so we need a try block
  219|   413k|    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|   413k|    if (shall_check) {
  ------------------
  |  Branch (222:9): [True: 413k, False: 0]
  ------------------
  223|   413k|        try {
  224|   413k|            checkState();
  225|   413k|        } catch (const Throwable &e) {
  226|      0|            printErr("unknown", e);
  227|      0|            std::terminate();
  228|      0|        } catch (...) {
  229|      0|            std::terminate();
  230|      0|        }
  231|   413k|    }
  232|   413k|#endif
  233|   413k|    stats.global_dealloc_counter += 1;
  234|   413k|    stats.global_total_active_bytes -= size_in_bytes;
  235|   413k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (235:9): [True: 413k, False: 0]
  ------------------
  236|   413k|        byte *p = upx::ptr_static_cast<byte *>(ptr);
  237|       |        // clear magic constants
  238|   413k|        set_ne32(p - 8, 0);
  239|   413k|        set_ne32(p - 4, 0);
  240|   413k|        set_ne32(p + size_in_bytes, 0);
  241|   413k|        set_ne32(p + size_in_bytes + 4, 0);
  242|       |        //
  243|   413k|        ::free(p - 16); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  244|   413k|    } else {
  245|      0|        ::free(ptr); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  246|      0|    }
  247|   413k|    ptr = nullptr;
  248|   413k|    size_in_bytes = 0;
  249|   413k|}
membuffer.cpp:_ZL17use_simple_mcheckv:
   65|  9.76M|static noinline bool use_simple_mcheck() noexcept {
   66|  9.76M|    static upx_std_once_flag init_done;
   67|  9.76M|    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.76M|    return use_simple_mcheck_flag;
   70|  9.76M|}
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.6k|TEST_CASE("MemBuffer unused 1") {
  256|  14.6k|    MemBuffer mb;
  257|  14.6k|    (void) mb;
  258|  14.6k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  260|  14.6k|TEST_CASE("MemBuffer unused 2") {
  261|  14.6k|    MemBuffer mb;
  262|  14.6k|    CHECK(mb.raw_ptr() == nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|  14.6k|    CHECK(mb.raw_size_in_bytes() == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  14.6k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  266|  14.6k|TEST_CASE("MemBuffer core") {
  267|  14.6k|    constexpr size_t N = 64;
  268|  14.6k|    MemBuffer mb;
  269|  14.6k|    CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|  14.6k|    CHECK_THROWS(mb.alloc(0x30000000 + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|  14.6k|    CHECK(raw_bytes(mb, 0) == nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  14.6k|    CHECK_THROWS(raw_bytes(mb, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  14.6k|    CHECK_THROWS(mb.begin());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  14.6k|    CHECK_THROWS(mb.end());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|  14.6k|    CHECK_THROWS(mb.cbegin());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  276|  14.6k|    CHECK_THROWS(mb.cend());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  14.6k|    mb.alloc(N);
  278|  14.6k|    mb.checkState();
  279|  14.6k|    CHECK(mb.begin() == mb.cbegin());
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  14.6k|    CHECK(mb.end() == mb.cend());
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  14.6k|    CHECK(mb.begin() == &mb[0]);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|  14.6k|    CHECK(mb.end() == &mb[0] + N);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  14.6k|    CHECK(mb.cbegin() == &mb[0]);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  14.6k|    CHECK(mb.cend() == &mb[0] + N);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  14.6k|    CHECK(raw_bytes(mb, N) != nullptr);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  14.6k|    CHECK(raw_bytes(mb, N) == mb.getVoidPtr());
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  14.6k|    CHECK_THROWS(raw_bytes(mb, N + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|  14.6k|    CHECK_NOTHROW(mb + N);
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  14.6k|    CHECK_THROWS(mb + (N + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|       |#if ALLOW_INT_PLUS_MEMBUFFER
  291|       |    CHECK_NOTHROW(N + mb);
  292|       |    CHECK_THROWS((N + 1) + mb);
  293|       |#endif
  294|  14.6k|    CHECK_NOTHROW(mb.subref("", 0, N));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  14.6k|    CHECK_NOTHROW(mb.subref("", N, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  14.6k|    CHECK_THROWS(mb.subref("", 1, N));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  14.6k|    CHECK_THROWS(mb.subref("", N, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  14.6k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (298:9): [True: 14.6k, False: 0]
  ------------------
  299|  14.6k|        byte *p = upx::ptr_static_cast<byte *>(raw_bytes(mb, N));
  300|  14.6k|        upx_uint32_t magic1 = get_ne32(p - 4);
  301|  14.6k|        set_ne32(p - 4, magic1 ^ 1);
  302|  14.6k|        CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  14.6k|        set_ne32(p - 4, magic1);
  304|  14.6k|        mb.checkState();
  305|  14.6k|    }
  306|  14.6k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  308|  14.6k|TEST_CASE("MemBuffer global overloads") {
  309|  14.6k|    {
  310|  14.6k|        MemBuffer mb1(1);
  311|  14.6k|        MemBuffer mb4(4);
  312|  14.6k|        mb1.clear();
  313|  14.6k|        mb4.clear();
  314|  14.6k|        CHECK(memcmp(mb1, "\x00", 1) == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  14.6k|        CHECK_THROWS(memcmp(mb1, "\x00\x00", 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  14.6k|        CHECK_THROWS(memcmp("\x00\x00", mb1, 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|  14.6k|        CHECK_THROWS(memcmp(mb1, mb4, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  318|  14.6k|        CHECK_THROWS(memcmp(mb4, mb1, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  319|  14.6k|        CHECK_NOTHROW(memset(mb1, 255, 1));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  14.6k|        CHECK_THROWS(memset(mb1, 254, 2));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|  14.6k|        CHECK(mb1[0] == 255);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  322|  14.6k|    }
  323|       |
  324|   249k|    for (size_t i = 1; i <= 16; i++) {
  ------------------
  |  Branch (324:24): [True: 234k, False: 14.6k]
  ------------------
  325|   234k|        MemBuffer mb(i);
  326|   234k|        mb.clear();
  327|       |
  328|   234k|        if (i < 2) {
  ------------------
  |  Branch (328:13): [True: 14.6k, False: 220k]
  ------------------
  329|  14.6k|            CHECK_THROWS(get_ne16(mb));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  14.6k|            CHECK_THROWS(get_be16(mb));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  14.6k|            CHECK_THROWS(get_le16(mb));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  14.6k|            CHECK_THROWS(set_ne16(mb, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  14.6k|            CHECK_THROWS(set_be16(mb, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  14.6k|            CHECK_THROWS(set_le16(mb, 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|   220k|        } else {
  336|   220k|            CHECK_NOTHROW(get_ne16(mb));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|   220k|            CHECK_NOTHROW(get_be16(mb));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|   220k|            CHECK_NOTHROW(get_le16(mb));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|   220k|            CHECK_NOTHROW(set_ne16(mb, 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|   220k|            CHECK_NOTHROW(set_be16(mb, 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|   220k|            CHECK_NOTHROW(set_le16(mb, 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|   220k|        }
  343|   234k|        if (i < 3) {
  ------------------
  |  Branch (343:13): [True: 29.3k, False: 205k]
  ------------------
  344|  29.3k|            CHECK_THROWS(get_ne24(mb));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  29.3k|            CHECK_THROWS(get_be24(mb));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  29.3k|            CHECK_THROWS(get_le24(mb));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  29.3k|            CHECK_THROWS(set_ne24(mb, 0));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  29.3k|            CHECK_THROWS(set_be24(mb, 0));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  29.3k|            CHECK_THROWS(set_le24(mb, 0));
  ------------------
  |  | 2970|  29.3k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.3k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.3k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.3k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.3k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.3k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.3k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.3k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.3k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.3k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.3k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.3k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.3k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.3k|    if(b.log()) DOCTEST_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.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.3k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.3k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.3k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.3k|        } 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.3k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.3k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.3k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  350|   205k|        } else {
  351|   205k|            CHECK_NOTHROW(get_ne24(mb));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|   205k|            CHECK_NOTHROW(get_be24(mb));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|   205k|            CHECK_NOTHROW(get_le24(mb));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|   205k|            CHECK_NOTHROW(set_ne24(mb, 0));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|   205k|            CHECK_NOTHROW(set_be24(mb, 0));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|   205k|            CHECK_NOTHROW(set_le24(mb, 0));
  ------------------
  |  | 2974|   205k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   205k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   205k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   205k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   205k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   205k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   205k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   205k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   205k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   205k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   205k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   205k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   205k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   205k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   205k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   205k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   205k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 205k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|   205k|        }
  358|   234k|        if (i < 4) {
  ------------------
  |  Branch (358:13): [True: 44.0k, False: 190k]
  ------------------
  359|  44.0k|            CHECK_THROWS(get_ne32(mb));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  360|  44.0k|            CHECK_THROWS(get_be32(mb));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  44.0k|            CHECK_THROWS(get_le32(mb));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  362|  44.0k|            CHECK_THROWS(set_ne32(mb, 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|  44.0k|            CHECK_THROWS(set_be32(mb, 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|  44.0k|            CHECK_THROWS(set_le32(mb, 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  365|   190k|        } else {
  366|   190k|            CHECK_NOTHROW(get_ne32(mb));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  367|   190k|            CHECK_NOTHROW(get_be32(mb));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|   190k|            CHECK_NOTHROW(get_le32(mb));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  369|   190k|            CHECK_NOTHROW(set_ne32(mb, 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|   190k|            CHECK_NOTHROW(set_be32(mb, 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|   190k|            CHECK_NOTHROW(set_le32(mb, 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|   190k|        }
  373|   234k|        if (i < 8) {
  ------------------
  |  Branch (373:13): [True: 102k, False: 132k]
  ------------------
  374|   102k|            CHECK_THROWS(get_ne64(mb));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  375|   102k|            CHECK_THROWS(get_be64(mb));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|   102k|            CHECK_THROWS(get_le64(mb));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|   102k|            CHECK_THROWS(set_ne64(mb, 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  378|   102k|            CHECK_THROWS(set_be64(mb, 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  379|   102k|            CHECK_THROWS(set_le64(mb, 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  380|   132k|        } else {
  381|   132k|            CHECK_NOTHROW(get_ne64(mb));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  382|   132k|            CHECK_NOTHROW(get_be64(mb));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  383|   132k|            CHECK_NOTHROW(get_le64(mb));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  384|   132k|            CHECK_NOTHROW(set_ne64(mb, 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  385|   132k|            CHECK_NOTHROW(set_be64(mb, 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|   132k|            CHECK_NOTHROW(set_le64(mb, 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|   132k|        }
  388|       |
  389|   234k|        CHECK_NOTHROW(mb.subref("", 0, 0));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|   234k|        CHECK_NOTHROW(mb.subref("", 0, i));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|   234k|        CHECK_NOTHROW(mb.subref("", i, 0));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|   234k|        CHECK_NOTHROW(mb.subref("", i - 1, 1));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  393|   234k|        CHECK_THROWS(mb.subref("", 0, i + 1));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|   234k|        CHECK_THROWS(mb.subref("", i + 1, 0));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|   234k|        CHECK_THROWS(mb.subref("", i, 1));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|   234k|        CHECK_THROWS(mb.subref("", (size_t) -1, 0));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  397|   234k|        CHECK_THROWS(mb.subref("", (size_t) -1, i));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  398|       |
  399|   234k|#if DEBUG || !(ACC_CC_CLANG && __PPC64__ && ACC_ABI_BIG_ENDIAN) || 0
  400|       |        // @COMPILER_BUG @CLANG_BUG
  401|   234k|        if (i < 2) {
  ------------------
  |  Branch (401:13): [True: 14.6k, False: 220k]
  ------------------
  402|  14.6k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  403|  14.6k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  404|  14.6k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|   220k|        } else {
  406|   220k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|   220k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  408|   220k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  409|   220k|        }
  410|   234k|        if (i < 4) {
  ------------------
  |  Branch (410:13): [True: 44.0k, False: 190k]
  ------------------
  411|  44.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  412|  44.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|  44.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|   190k|        } else {
  415|   190k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|   190k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  417|   190k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|   190k|        }
  419|   234k|        if (i < 8) {
  ------------------
  |  Branch (419:13): [True: 102k, False: 132k]
  ------------------
  420|   102k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|   102k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|   102k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  423|   132k|        } else {
  424|   132k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  425|   132k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|   132k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  427|   132k|        }
  428|       |
  429|   234k|        CHECK_NOTHROW(mb.subref_u<byte *>("", 0));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|   234k|        CHECK_NOTHROW(mb.subref_u<byte *>("", i - 1));
  ------------------
  |  | 2974|   234k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   234k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   234k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   234k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   234k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   234k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   234k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   234k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|   234k|        CHECK_THROWS(mb.subref_u<byte *>("", i));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  432|   234k|        CHECK_THROWS(mb.subref_u<byte *>("", (size_t) -1));
  ------------------
  |  | 2970|   234k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   234k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   234k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 234k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   234k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   234k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   234k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   234k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   234k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   234k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   234k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   234k|        } 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|   234k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|       |
  434|   234k|        if (i < 2) {
  ------------------
  |  Branch (434:13): [True: 14.6k, False: 220k]
  ------------------
  435|  14.6k|            CHECK_THROWS(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  436|  14.6k|            CHECK_THROWS(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  437|  14.6k|            CHECK_THROWS(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  438|   220k|        } else {
  439|   220k|            CHECK_NOTHROW(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  440|   220k|            CHECK_NOTHROW(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  441|   220k|            CHECK_NOTHROW(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2974|   220k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   220k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   220k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   220k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   220k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   220k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   220k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   220k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   220k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   220k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   220k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   220k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   220k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   220k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   220k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   220k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   220k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 220k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  442|   220k|        }
  443|   234k|        if (i < 4) {
  ------------------
  |  Branch (443:13): [True: 44.0k, False: 190k]
  ------------------
  444|  44.0k|            CHECK_THROWS(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  445|  44.0k|            CHECK_THROWS(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  446|  44.0k|            CHECK_THROWS(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2970|  44.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  44.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  447|   190k|        } else {
  448|   190k|            CHECK_NOTHROW(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|   190k|            CHECK_NOTHROW(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  450|   190k|            CHECK_NOTHROW(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2974|   190k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   190k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   190k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   190k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   190k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   190k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   190k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   190k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   190k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   190k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   190k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   190k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   190k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   190k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   190k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   190k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   190k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 190k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|   190k|        }
  452|   234k|        if (i < 8) {
  ------------------
  |  Branch (452:13): [True: 102k, False: 132k]
  ------------------
  453|   102k|            CHECK_THROWS(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|   102k|            CHECK_THROWS(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  455|   102k|            CHECK_THROWS(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2970|   102k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   102k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   102k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   102k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   102k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 102k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   102k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   102k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   102k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   102k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   102k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   102k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   102k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   102k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   102k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   102k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   102k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   102k|        } 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|   102k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   102k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 102k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|   132k|        } else {
  457|   132k|            CHECK_NOTHROW(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|   132k|            CHECK_NOTHROW(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|   132k|            CHECK_NOTHROW(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2974|   132k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   132k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   132k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   132k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   132k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   132k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   132k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   132k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   132k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   132k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  460|   132k|        }
  461|   234k|#endif
  462|   234k|    }
  463|  14.6k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  465|  14.6k|TEST_CASE("MemBuffer array access") {
  466|  14.6k|    constexpr size_t N = 16;
  467|  14.6k|    MemBuffer mb(N);
  468|  14.6k|    mb.clear();
  469|   249k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (469:24): [True: 234k, False: 14.6k]
  ------------------
  470|   234k|        mb[i] += 1;
  471|   249k|    for (byte *ptr = mb; ptr != mb + N; ++ptr)
  ------------------
  |  Branch (471:26): [True: 234k, False: 14.6k]
  ------------------
  472|   234k|        *ptr += 1;
  473|   249k|    for (byte *ptr = mb + 0; ptr < mb + N; ++ptr)
  ------------------
  |  Branch (473:30): [True: 234k, False: 14.6k]
  ------------------
  474|   234k|        *ptr += 1;
  475|   249k|    for (byte *ptr = &mb[0]; ptr != mb.end(); ++ptr)
  ------------------
  |  Branch (475:30): [True: 234k, False: 14.6k]
  ------------------
  476|   234k|        *ptr += 1;
  477|   249k|    for (byte *ptr = mb.begin(); ptr < mb.end(); ++ptr)
  ------------------
  |  Branch (477:34): [True: 234k, False: 14.6k]
  ------------------
  478|   234k|        *ptr += 1;
  479|   249k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (479:24): [True: 234k, False: 14.6k]
  ------------------
  480|   234k|        assert(mb[i] == 5);
  ------------------
  |  |  512|   234k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 234k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  14.6k|    CHECK_NOTHROW((void) &mb[N - 1]);
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  14.6k|    CHECK_THROWS((void) &mb[N]); // NOT legal for containers like std::vector or MemBuffer
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  483|  14.6k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  485|  14.6k|TEST_CASE("MemBuffer::getSizeForCompression") {
  486|  14.6k|    CHECK_THROWS(MemBuffer::getSizeForCompression(0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|  14.6k|    CHECK_THROWS(MemBuffer::getSizeForDecompression(0));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  488|  14.6k|    CHECK(MemBuffer::getSizeForCompression(1) == 513);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  489|  14.6k|    CHECK(MemBuffer::getSizeForCompression(256) == 800);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  490|  14.6k|    CHECK(MemBuffer::getSizeForCompression(1024) == 1664);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  14.6k|    CHECK(MemBuffer::getSizeForCompression(1024 * 1024) == 1180160);         // 0x00100000
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  14.6k|    CHECK(MemBuffer::getSizeForCompression(64 * 1024 * 1024) == 75497984);   // 0x04000000
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.6k|    CHECK(MemBuffer::getSizeForCompression(512 * 1024 * 1024) == 603980288); // 0x20000000
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  14.6k|    CHECK(MemBuffer::getSizeForCompression(640 * 1024 * 1024) == 754975232); // 0x28000000
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  495|       |    // "682 MiB Ought to be Enough for Anyone" --Markus F.X.J. Oberhumer, 2023 ;-)
  496|  14.6k|    CHECK(MemBuffer::getSizeForCompression(682 * 1024 * 1024) == 804520448); // 0x2aa00000
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|  14.6k|    CHECK(MemBuffer::getSizeForCompression(715827428) == UPX_RSIZE_MAX);     // 0x2aaaa8e4
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|  14.6k|    CHECK_THROWS(MemBuffer::getSizeForCompression(715827428 + 1));           // 0x2aaaa8e4 + 1
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  499|  14.6k|}

_ZN9MemBuffer10getVoidPtrEv:
  206|   251k|    void *getVoidPtr() noexcept { return (void *) ptr; }
_ZN9MemBuffer5clearEv:
  214|   297k|    forceinline void clear() may_throw { fill(0, size_in_bytes, 0); }
_ZN9MemBufferC2Ev:
  190|  2.91M|    explicit forceinline MemBuffer() noexcept : MemBufferBase<byte>() {}
_ZNK9MemBuffer14getSizeInBytesEv:
  208|   198k|    unsigned getSizeInBytes() const noexcept { return size_in_bytes; }
_ZNK9MemBuffer7getSizeEv:
  209|  77.9k|    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); }
_ZN9MemBuffer6subrefEPKcmm:
  220|  4.28M|    forceinline pointer subref(const char *errfmt, size_t skip, size_t take) may_throw {
  221|  4.28M|        return (pointer) subref_impl(errfmt, skip, take);
  222|  4.28M|    }
_ZNK13MemBufferBaseIhEplIjEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   134k|        may_throw {
   98|   134k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|   134k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|   134k|    }
_ZNK13MemBufferBaseIhE9raw_bytesEm:
  111|  6.63M|    pointer raw_bytes(size_t bytes) const may_throw {
  112|  6.63M|        if (bytes > 0) {
  ------------------
  |  Branch (112:13): [True: 6.50M, False: 131k]
  ------------------
  113|  6.50M|            if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  6.50M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.50M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.50M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 6.49M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  14.6k|                throwCantPack("MemBuffer raw_bytes unexpected NULL ptr");
  115|  6.49M|            if very_unlikely (bytes > size_in_bytes)
  ------------------
  |  |  264|  6.49M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.49M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.49M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1.24M, False: 5.24M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  1.24M|                throwCantPack("MemBuffer raw_bytes invalid size");
  117|  6.49M|        }
  118|  5.37M|        return ptr;
  119|  6.63M|    }
_ZNK13MemBufferBaseIhE7raw_ptrEv:
  108|  14.6k|    pointer raw_ptr() const noexcept { return ptr; }
_Z9raw_bytesIhEN13MemBufferBaseIT_E7pointerERKS2_m:
  149|  88.0k|                                                    size_t size_in_bytes) {
  150|  88.0k|    return mbb.raw_bytes(size_in_bytes);
  151|  88.0k|}
_ZN13MemBufferBaseIhEC2Ev:
   54|  3.28M|    explicit forceinline MemBufferBase() noexcept : ptr(nullptr), size_in_bytes(0) {}
_ZN13MemBufferBaseIhED2Ev:
   55|  3.28M|    forceinline ~MemBufferBase() noexcept {}
_ZNK13MemBufferBaseIhEcvPhEv:
   59|  39.0k|    operator pointer() const noexcept { return ptr; }
_ZNK13MemBufferBaseIhEplIxEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|    666|        may_throw {
   98|    666|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|    666|        return raw_bytes(bytes) + n;                         // and check bytes
  100|    666|    }
_ZNK13MemBufferBaseIhEplIiEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  88.3k|        may_throw {
   98|  88.3k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|  88.3k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|  88.3k|    }
_ZNK13MemBufferBaseIhEixEl:
   62|  1.48M|    reference operator[](ptrdiff_t i) const may_throw {
   63|       |        // NOTE: &array[SIZE] is *not* legal for containers like std::vector and MemBuffer !
   64|  1.48M|        if very_unlikely (i < 0 || mem_size(element_size, i) >= size_in_bytes)
  ------------------
  |  |  264|  1.48M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.48M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.97M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.7k, False: 1.47M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 21, False: 1.48M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.7k, False: 1.47M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  14.7k|            throwCantPack("MemBuffer invalid array index %td (%zu bytes)", i, size_in_bytes);
   66|  1.47M|        return ptr[i];
   67|  1.48M|    }
_ZplIhjENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  13.7k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  13.7k|    return mbb + n;
  138|  13.7k|}
_ZplIhyENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  6.33k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  6.33k|    return mbb + n;
  138|  6.33k|}
_ZNK13MemBufferBaseIhEplIyEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  6.33k|        may_throw {
   98|  6.33k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|  6.33k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|  6.33k|    }
_ZplIhxENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|    666|operator+(U n, const MemBufferBase<T> &mbb) {
  137|    666|    return mbb + n;
  138|    666|}
_ZNK13MemBufferBaseIhEplImEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   528k|        may_throw {
   98|   528k|        const upx_rsize_t bytes = mem_size(element_size, n); // check mem_size
   99|   528k|        return raw_bytes(bytes) + n;                         // and check bytes
  100|   528k|    }
_ZNK13MemBufferBaseIhE17raw_size_in_bytesEv:
  109|  14.6k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK13MemBufferBaseIhE5beginEv:
   73|  58.7k|    iterator begin() const may_throw {
   74|  58.7k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  58.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  58.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 44.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   75|  14.6k|            throwCantPack("MemBuffer begin() unexpected NULL ptr");
   76|  44.0k|        return ptr;
   77|  58.7k|    }
_ZNK13MemBufferBaseIhE3endEv:
   83|   542k|    iterator end() const may_throw {
   84|   542k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|   542k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   542k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   542k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 528k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  14.6k|            throwCantPack("MemBuffer end() unexpected NULL ptr");
   86|   528k|        return ptr + size_in_bytes / element_size;
   87|   542k|    }
_ZNK13MemBufferBaseIhE6cbeginEv:
   78|  44.0k|    const_iterator cbegin() const may_throw {
   79|  44.0k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  44.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  44.0k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.6k|            throwCantPack("MemBuffer cbegin() unexpected NULL ptr");
   81|  29.3k|        return ptr;
   82|  44.0k|    }
_ZNK13MemBufferBaseIhE4cendEv:
   88|  44.0k|    const_iterator cend() const may_throw {
   89|  44.0k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  44.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  44.0k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.6k|            throwCantPack("MemBuffer cend() unexpected NULL ptr");
   91|  29.3k|        return ptr + size_in_bytes / element_size;
   92|  44.0k|    }
_ZN9MemBuffer8subref_uIPhEET_PKcm:
  224|   939k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   939k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   939k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   939k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   939k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   939k|    }
_ZN9MemBuffer8subref_uIP4LE16EET_PKcm:
  224|   469k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   469k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   469k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   469k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   469k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   469k|    }
_ZN9MemBuffer8subref_uIP4BE16EET_PKcm:
  224|   234k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   234k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   234k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   234k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   234k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   234k|    }
_ZN9MemBuffer8subref_uIP4LE32EET_PKcm:
  224|   469k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   469k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   469k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   469k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   469k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   469k|    }
_ZN9MemBuffer8subref_uIP4BE32EET_PKcm:
  224|   234k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   234k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   234k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   234k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   234k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   234k|    }
_ZN9MemBuffer8subref_uIP4LE64EET_PKcm:
  224|   469k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   469k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   469k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   469k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   469k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   469k|    }
_ZN9MemBuffer8subref_uIP4BE64EET_PKcm:
  224|   234k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   234k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  266|   234k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   234k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   234k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   234k|    }

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

_Z9raw_bytesIPtENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valueES3_E4typeES3_m:
   40|  29.3k|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|  29.3k|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 14.6k, False: 14.6k]
  ------------------
   42|  14.6k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  14.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  14.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  14.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   43|  14.6k|            throwCantPack("raw_bytes unexpected NULL ptr");
   44|      0|        if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  264|      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|        (void) mem_size_ptr(ptr, 1, size_in_bytes); // assert size
   47|      0|    }
   48|  14.6k|    return ptr;
   49|  29.3k|}
_Z15raw_index_bytesIPtENSt3__19enable_ifIXaaaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valuentsr3std7is_voidINS1_14remove_pointerIS3_E4typeEEE5valueES3_E4typeES3_mm:
   57|  73.3k|raw_index_bytes(T ptr, size_t index, size_t size_in_bytes) may_throw {
   58|  73.3k|    typedef typename std::remove_pointer<T>::type element_type;
   59|  73.3k|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|  73.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  73.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  73.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.0k, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|  44.0k|        throwCantPack("raw_index_bytes unexpected NULL ptr");
   61|  29.3k|    size_in_bytes = mem_size_ptr(ptr, sizeof(element_type), index, size_in_bytes); // assert size
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
   62|  29.3k|    if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   63|      0|        throwCantPack("raw_index_bytes valgrind-check-mem");
   64|  29.3k|    UNUSED(size_in_bytes);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   65|  29.3k|    return ptr + index;
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
   66|  29.3k|}
_Z9raw_bytesItLm4EEPT_RAT0__S0_m:
   70|   117k|inline T *raw_bytes(T (&array)[N], size_t size_in_bytes) may_throw {
   71|   117k|    typedef T element_type;
   72|   117k|    if very_unlikely (size_in_bytes > mem_size(sizeof(element_type), N))
  ------------------
  |  |  264|   117k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   117k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   117k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.0k, False: 73.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   73|  44.0k|        throwCantPack("raw_bytes out of range");
   74|  73.3k|    return array;
   75|   117k|}
_Z15raw_index_bytesItLm4EEPT_RAT0__S0_mm:
   78|  88.0k|inline T *raw_index_bytes(T (&array)[N], size_t index, size_t size_in_bytes) may_throw {
   79|  88.0k|    typedef T element_type;
   80|  88.0k|    return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  88.0k|#define index    upx_renamed_index
  ------------------
                  return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  88.0k|#define index    upx_renamed_index
  ------------------
   81|  88.0k|}
_Z9raw_bytesIPhENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valueES3_E4typeES3_m:
   40|    127|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|    127|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 0, False: 127]
  ------------------
   42|      0|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|      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))
  ------------------
  |  |  264|      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|        (void) mem_size_ptr(ptr, 1, size_in_bytes); // assert size
   47|      0|    }
   48|    127|    return ptr;
   49|    127|}
_Z9raw_bytesIPKhENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS4_EE5valueES4_E4typeES4_m:
   40|    372|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|    372|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 0, False: 372]
  ------------------
   42|      0|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  264|      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))
  ------------------
  |  |  264|      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|        (void) mem_size_ptr(ptr, 1, size_in_bytes); // assert size
   47|      0|    }
   48|    372|    return ptr;
   49|    372|}

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

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

_Z14mem_size_validyyyy:
   61|   121k|                    upx_uint64_t extra2) noexcept {
   62|   121k|    const unsigned rsize_max = mem_size_get_rsize_max(opt->cmd);
   63|   121k|    assert_noexcept(element_size > 0);
  ------------------
  |  |  515|   121k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   242k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 121k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   64|   121k|    if very_unlikely (element_size == 0 || element_size > rsize_max)
  ------------------
  |  |  264|   121k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   121k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   242k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 121k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 121k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 121k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|      0|        return false;
   66|   121k|    if very_unlikely (n > rsize_max)
  ------------------
  |  |  264|   121k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   121k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   121k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.7k, False: 106k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   67|  14.7k|        return false;
   68|   106k|    if very_unlikely (extra1 > rsize_max)
  ------------------
  |  |  264|   106k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   106k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   106k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 106k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   69|      0|        return false;
   70|   106k|    if very_unlikely (extra2 > rsize_max)
  ------------------
  |  |  264|   106k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   106k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   106k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 106k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   71|      0|        return false;
   72|   106k|    const upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   73|   106k|    if very_unlikely (bytes > rsize_max)
  ------------------
  |  |  264|   106k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   106k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   106k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.0k, False: 62.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   74|  44.0k|        return false;
   75|  62.5k|    return true;
   76|   106k|}
_Z8mem_sizeyyyy:
   79|  18.9M|                     upx_uint64_t extra2) may_throw {
   80|  18.9M|    const unsigned rsize_max = mem_size_get_rsize_max(opt->cmd);
   81|  18.9M|    assert(element_size > 0);
  ------------------
  |  |  512|  18.9M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  37.9M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.9M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   82|  18.9M|    if very_unlikely (element_size == 0 || element_size > rsize_max)
  ------------------
  |  |  264|  18.9M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.9M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  37.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.9M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 18.9M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 18.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   83|      0|        throwCantPack("mem_size 1; take care");
   84|  18.9M|    if very_unlikely (n > rsize_max)
  ------------------
  |  |  264|  18.9M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.9M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.1k, False: 18.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  44.1k|        throwCantPack("mem_size 2; take care");
   86|  18.9M|    if very_unlikely (extra1 > rsize_max)
  ------------------
  |  |  264|  18.9M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.9M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|      0|        throwCantPack("mem_size 3; take care");
   88|  18.9M|    if very_unlikely (extra2 > rsize_max)
  ------------------
  |  |  264|  18.9M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.9M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|      0|        throwCantPack("mem_size 4; take care");
   90|  18.9M|    const upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   91|  18.9M|    if very_unlikely (bytes > rsize_max)
  ------------------
  |  |  264|  18.9M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.9M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 58.7k, False: 18.8M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|  58.7k|        throwCantPack("mem_size 5; take care");
   93|  18.8M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  18.8M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  18.8M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   94|  18.9M|}
_Z12mem_size_ptrPKvyyyy:
   97|  18.4M|                         upx_uint64_t extra1, upx_uint64_t extra2) may_throw {
   98|  18.4M|    const upx_rsize_t bytes = mem_size(element_size, n, extra1, extra2); // assert size
   99|  18.4M|    const upx_ptraddr_t p = ptr_get_address(ptr);
  100|       |    // check wrap-around
  101|  18.4M|    if very_unlikely (p == 0 || p + bytes < p)
  ------------------
  |  |  264|  18.4M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.4M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  36.9M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 18.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 18.4M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|      0|        throwCantPack("mem_size_ptr %p %zu; take care", ptr, bytes);
  103|  18.4M|    return bytes;
  104|  18.4M|}
_Z14ptr_diff_bytesPKvS0_:
  130|   552k|int ptr_diff_bytes(const void *a, const void *b) may_throw {
  131|   552k|    if very_unlikely (a == nullptr)
  ------------------
  |  |  264|   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: 14.6k, False: 537k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  14.6k|        throwCantPack("ptr_diff_bytes null 1; take care");
  133|   537k|    if very_unlikely (b == nullptr)
  ------------------
  |  |  264|   537k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   537k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   537k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 522k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  134|  14.6k|        throwCantPack("ptr_diff_bytes null 2; take care");
  135|   522k|    const upx_sptraddr_t d = ptraddr_diff(a, b);
  136|   522k|    if (a >= b) {
  ------------------
  |  Branch (136:9): [True: 425k, False: 97.2k]
  ------------------
  137|   425k|        if very_unlikely (!mem_size_valid_bytes(d))
  ------------------
  |  |  264|   425k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   425k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   425k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 425k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  138|      0|            throwCantPack("ptr_diff_bytes-1; take care");
  139|   425k|    } else {
  140|  97.2k|        if very_unlikely (!mem_size_valid_bytes(-d))
  ------------------
  |  |  264|  97.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  97.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  97.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 97.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|      0|            throwCantPack("ptr_diff_bytes-2; take care");
  142|  97.2k|    }
  143|   522k|    assert_noexcept(d == ((const charptr) a - (const charptr) b));
  ------------------
  |  |  515|   522k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  1.04M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 522k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  144|   522k|    return ACC_ICONV(int, d);
  ------------------
  |  | 1546|   522k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   522k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  145|   522k|}
_Z15ptr_udiff_bytesPKvS0_:
  147|   366k|unsigned ptr_udiff_bytes(const void *a, const void *b) may_throw { // asserts a >= b
  148|   366k|    const int d = ptr_diff_bytes(a, b);
  149|   366k|    if very_unlikely (d < 0)
  ------------------
  |  |  264|   366k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   366k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   366k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.6k, False: 352k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  150|  14.6k|        throwCantPack("ptr_udiff_bytes; take care");
  151|   352k|    return ACC_ICONV(unsigned, d);
  ------------------
  |  | 1546|   352k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   352k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  152|   366k|}
_Z24ptraddr_check_no_overlapmmmm:
  169|      3|    may_throw {
  170|      3|    if very_unlikely (a == 0 || b == 0)
  ------------------
  |  |  264|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      6|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|      0|        throwCantPack("ptr_check_no_overlap2-nullptr");
  172|      3|    const upx_ptraddr_t a_end = a + mem_size(1, a_size);
  173|      3|    const upx_ptraddr_t b_end = b + mem_size(1, b_size);
  174|      3|    if very_unlikely (a_end < a || b_end < b) // wrap-around
  ------------------
  |  |  264|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      6|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|      0|        throwCantPack("ptr_check_no_overlap2-overflow");
  176|       |    // simple, but a little bit mind bending:
  177|       |    //   same as (!(a >= b_end || b >= a_end))
  178|       |    //   same as (!(a_end <= b || b_end <= a))
  179|      3|    if very_unlikely (a < b_end && b < a_end)
  ------------------
  |  |  264|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      3|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  180|      0|        throwCantPack("ptr_check_no_overlap2-ab");
  181|      3|}
_Z10upx_getenvPKc:
  286|   572k|const char *upx_getenv(const char *envvar) noexcept {
  287|   572k|    if likely (envvar != nullptr && envvar[0])
  ------------------
  |  |  261|   572k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  1.12M|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 542k, False: 29.3k]
  |  |  |  |  |  Branch (2016:54): [True: 557k, False: 14.6k]
  |  |  |  |  |  Branch (2016:54): [True: 542k, False: 14.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|   542k|        return ::getenv(envvar);
  289|  29.3k|    return nullptr;
  290|   572k|}
_Z11upx_memswapPvS_m:
  318|   146k|void upx_memswap(void *aa, void *bb, size_t bytes) noexcept {
  319|   146k|    if (aa != bb && bytes != 0) {
  ------------------
  |  Branch (319:9): [True: 132k, False: 14.6k]
  |  Branch (319:21): [True: 132k, False: 0]
  ------------------
  320|   132k|        byte *a = (byte *) aa;
  321|   132k|        byte *b = (byte *) bb;
  322|   469k|        do {
  323|       |            // strange clang-analyzer-15 false positive when compiling in Debug mode
  324|       |            // clang-analyzer-core.uninitialized.Assign
  325|   469k|            byte tmp = *a; // NOLINT(*core.uninitialized.Assign) // bogus clang-analyzer warning
  326|   469k|            *a++ = *b;
  327|   469k|            *b++ = tmp;
  328|   469k|        } while (--bytes != 0);
  ------------------
  |  Branch (328:18): [True: 337k, False: 132k]
  ------------------
  329|   132k|    }
  330|   146k|}
_Z4findPKviS0_i:
  592|  1.15M|int find(const void *buf, int blen, const void *what, int wlen) noexcept {
  593|       |    // nullptr is explicitly allowed here
  594|  1.15M|    if (buf == nullptr || blen < wlen || what == nullptr || wlen <= 0)
  ------------------
  |  Branch (594:9): [True: 14.6k, False: 1.13M]
  |  Branch (594:27): [True: 14.6k, False: 1.12M]
  |  Branch (594:42): [True: 0, False: 1.12M]
  |  Branch (594:61): [True: 29.3k, False: 1.09M]
  ------------------
  595|  58.7k|        return -1;
  596|       |
  597|  1.09M|    const byte *b = (const byte *) buf;
  598|  1.09M|    const byte first_byte = *(const byte *) what;
  599|       |
  600|  1.09M|    blen -= wlen;
  601|  5.55M|    for (int i = 0; i <= blen; i++, b++)
  ------------------
  |  Branch (601:21): [True: 5.50M, False: 48.2k]
  ------------------
  602|  5.50M|        if (*b == first_byte && memcmp(b, what, wlen) == 0)
  ------------------
  |  Branch (602:13): [True: 1.04M, False: 4.46M]
  |  Branch (602:33): [True: 1.04M, False: 4.75k]
  ------------------
  603|  1.04M|            return i;
  604|       |
  605|  48.2k|    return -1;
  606|  1.09M|}
_Z9find_be16PKvij:
  608|  44.0k|int find_be16(const void *b, int blen, unsigned what) noexcept {
  609|  44.0k|    byte w[2];
  610|  44.0k|    set_be16(w, what);
  611|  44.0k|    return find(b, blen, w, 2);
  612|  44.0k|}
_Z9find_be32PKvij:
  614|  44.0k|int find_be32(const void *b, int blen, unsigned what) noexcept {
  615|  44.0k|    byte w[4];
  616|  44.0k|    set_be32(w, what);
  617|  44.0k|    return find(b, blen, w, 4);
  618|  44.0k|}
_Z9find_be64PKviy:
  620|  29.3k|int find_be64(const void *b, int blen, upx_uint64_t what) noexcept {
  621|  29.3k|    byte w[8];
  622|  29.3k|    set_be64(w, what);
  623|  29.3k|    return find(b, blen, w, 8);
  624|  29.3k|}
_Z9find_le16PKvij:
  626|  44.0k|int find_le16(const void *b, int blen, unsigned what) noexcept {
  627|  44.0k|    byte w[2];
  628|  44.0k|    set_le16(w, what);
  629|  44.0k|    return find(b, blen, w, 2);
  630|  44.0k|}
_Z9find_le32PKvij:
  632|  78.7k|int find_le32(const void *b, int blen, unsigned what) noexcept {
  633|  78.7k|    byte w[4];
  634|  78.7k|    set_le32(w, what);
  635|  78.7k|    return find(b, blen, w, 4);
  636|  78.7k|}
_Z9find_le64PKviy:
  638|  29.3k|int find_le64(const void *b, int blen, upx_uint64_t what) noexcept {
  639|  29.3k|    byte w[8];
  640|  29.3k|    set_le64(w, what);
  641|  29.3k|    return find(b, blen, w, 8);
  642|  29.3k|}
_Z11mem_replacePviPKviS1_:
  666|  73.3k|int mem_replace(void *buf, int blen, const void *what, int wlen, const void *replacement) noexcept {
  667|  73.3k|    byte *const b = (byte *) buf;
  668|  73.3k|    int boff = 0;
  669|  73.3k|    int count = 0;
  670|       |
  671|   425k|    while (blen - boff >= wlen) {
  ------------------
  |  Branch (671:12): [True: 366k, False: 58.7k]
  ------------------
  672|   366k|        int off = find(b + boff, blen - boff, what, wlen);
  673|   366k|        if (off < 0)
  ------------------
  |  Branch (673:13): [True: 14.6k, False: 352k]
  ------------------
  674|  14.6k|            break;
  675|   352k|        boff += off;
  676|   352k|        memcpy(b + boff, replacement, wlen);
  677|   352k|        boff += wlen;
  678|   352k|        count++;
  679|   352k|    }
  680|  73.3k|    return count;
  681|  73.3k|}
_Z11fn_basenamePKc:
  831|  14.7k|char *fn_basename(const char *name) {
  832|  14.7k|    const char *n, *nn;
  833|       |
  834|  14.7k|    name = fn_skip_drive(name);
  ------------------
  |  |  826|  14.7k|#define fn_skip_drive(s) (s)
  ------------------
  835|  60.7k|    for (nn = n = name; *nn; nn++)
  ------------------
  |  Branch (835:25): [True: 46.0k, False: 14.7k]
  ------------------
  836|  46.0k|        if (fn_is_sep(*nn))
  ------------------
  |  |  825|  46.0k|#define fn_is_sep(c)     ((c) == '/')
  |  |  ------------------
  |  |  |  Branch (825:26): [True: 132, False: 45.8k]
  |  |  ------------------
  ------------------
  837|    132|            n = nn + 1;
  838|  14.7k|    return ACC_UNCONST_CAST(char *, n);
  ------------------
  |  | 1483|  14.7k|#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  ------------------
  839|  14.7k|}
_Z14is_envvar_truePKcS0_:
  880|   308k|bool is_envvar_true(const char *envvar, const char *alternate_name) noexcept {
  881|   308k|    const char *e = upx_getenv(envvar);
  882|   308k|    if (e != nullptr && e[0])
  ------------------
  |  Branch (882:9): [True: 0, False: 308k]
  |  Branch (882:25): [True: 0, False: 0]
  ------------------
  883|      0|        return strcmp(e, "0") != 0;
  884|   308k|    if (alternate_name != nullptr) {
  ------------------
  |  Branch (884:9): [True: 44.0k, False: 264k]
  ------------------
  885|  44.0k|        e = upx_getenv(alternate_name);
  886|  44.0k|        if (e != nullptr && e[0])
  ------------------
  |  Branch (886:13): [True: 0, False: 44.0k]
  |  Branch (886:29): [True: 0, False: 0]
  ------------------
  887|      0|            return strcmp(e, "0") != 0;
  888|  44.0k|    }
  889|   308k|    return false;
  890|   308k|}
_Z13center_stringPcmPKc:
  914|  14.7k|void center_string(char *buf, size_t size, const char *s) {
  915|  14.7k|    size_t l1 = size - 1;
  916|  14.7k|    size_t l2 = strlen(s);
  ------------------
  |  |   70|  14.7k|#define strlen upx_safe_strlen
  ------------------
  917|  14.7k|    assert(size > 0);
  ------------------
  |  |  512|  14.7k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  918|  14.7k|    assert(l2 < size);
  ------------------
  |  |  512|  14.7k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  919|      0|    memset(buf, ' ', l1);
  920|  14.7k|    memcpy(buf + (l1 - l2) / 2, s, l2);
  921|  14.7k|    buf[l1] = 0;
  922|  14.7k|}
_Z9get_ratioyy:
 1019|   190k|unsigned get_ratio(upx_uint64_t u_len, upx_uint64_t c_len) {
 1020|   190k|    constexpr unsigned N = 1000 * 1000;
 1021|   190k|    if (u_len == 0)
  ------------------
  |  Branch (1021:9): [True: 40.0k, False: 150k]
  ------------------
 1022|  40.0k|        return c_len == 0 ? 0 : N;
  ------------------
  |  Branch (1022:16): [True: 25.4k, False: 14.6k]
  ------------------
 1023|   150k|    upx_uint64_t x = c_len * N;
 1024|   150k|    assert(x / N == c_len); // sanity check
  ------------------
  |  |  512|   150k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   301k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 150k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (512:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1025|      0|    x /= u_len;
 1026|   150k|    x += 50;         // rounding; cannot overflow
 1027|   150k|    if (x >= 10 * N) // >= "1000%"
  ------------------
  |  Branch (1027:9): [True: 44.0k, False: 106k]
  ------------------
 1028|  44.0k|        x = 10 * N - 1;
 1029|   150k|    return ACC_ICONV(unsigned, x);
  ------------------
  |  | 1546|   150k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   150k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1030|   190k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  106|  14.6k|TEST_CASE("mem_size") {
  107|  14.6k|    mem_size_assert(1, 0);
  108|  14.6k|    mem_size_assert(1, 0x30000000);
  109|  14.6k|    CHECK_THROWS(mem_size_assert(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  14.6k|    mem_size_assert_noexcept(1, 0);
  111|  14.6k|    mem_size_assert_noexcept(1, 0x30000000);
  112|  14.6k|    CHECK(mem_size_valid(1, 0));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  14.6k|    CHECK(mem_size_valid(1, 0x30000000));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  14.6k|    CHECK(!mem_size_valid(1, 0x30000000 + 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  115|  14.6k|    CHECK(!mem_size_valid(1, 0x30000000, 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  14.6k|    CHECK(!mem_size_valid(1, 0x30000000, 0, 1));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  117|  14.6k|    CHECK(!mem_size_valid(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  118|  14.6k|    CHECK_NOTHROW(mem_size(1, 0));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|  14.6k|    CHECK_NOTHROW(mem_size(1, 0x30000000));
  ------------------
  |  | 2974|  14.6k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.6k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.6k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.6k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.6k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.6k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.6k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.6k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  14.6k|    CHECK_THROWS(mem_size(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  14.6k|    CHECK_THROWS(mem_size(1, 0x30000000, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|  14.6k|    CHECK_THROWS(mem_size(1, 0x30000000, 0, 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  123|  14.6k|    CHECK_THROWS(mem_size(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  124|  14.6k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  154|  14.6k|TEST_CASE("ptr_diff") {
  155|  14.6k|    byte buf[4] = {0, 1, 2, 3};
  156|  14.6k|    CHECK_THROWS(ptr_diff_bytes(nullptr, buf));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  157|  14.6k|    CHECK_THROWS(ptr_diff_bytes(buf, nullptr));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  14.6k|    CHECK(ptr_diff(buf, buf) == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  14.6k|    CHECK(ptr_diff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.6k|    CHECK(ptr_diff(buf, buf + 1) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  14.6k|    CHECK(ptr_udiff(buf, buf) == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  14.6k|    CHECK(ptr_udiff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  163|  14.6k|    CHECK_THROWS(ptr_udiff(buf, buf + 1));
  ------------------
  |  | 2970|  14.6k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.6k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.6k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.6k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.6k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.6k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.6k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.6k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.6k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.6k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.6k|        } 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.6k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|  14.6k|    UNUSED(buf);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  165|  14.6k|}
util.cpp:_ZL18memswap_no_overlapPhS_m:
  333|  14.6k|static inline void memswap_no_overlap(byte *a, byte *b, size_t bytes) noexcept {
  334|       |#if defined(__clang__) && (__clang_major__ < 15) && !defined(__CHERI__)
  335|       |    // work around a clang < 15 ICE (Internal Compiler Error)
  336|       |    // @COMPILER_BUG @CLANG_BUG
  337|       |    upx_memswap(a, b, bytes);
  338|       |#else // clang bug
  339|  14.6k|    upx_alignas_max byte tmp_buf[16];
  ------------------
  |  |  166|  14.6k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
  340|  14.6k|#define SWAP(n)                                                                                    \
  341|  14.6k|    do {                                                                                           \
  342|  14.6k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  343|  14.6k|        upx_memcpy_inline(a, b, n);                                                                \
  344|  14.6k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  345|  14.6k|        a += n;                                                                                    \
  346|  14.6k|        b += n;                                                                                    \
  347|  14.6k|    } while (0)
  348|       |
  349|  29.3k|    for (; bytes >= 16; bytes -= 16)
  ------------------
  |  Branch (349:12): [True: 14.6k, False: 14.6k]
  ------------------
  350|  14.6k|        SWAP(16);
  ------------------
  |  |  341|  14.6k|    do {                                                                                           \
  |  |  342|  14.6k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  343|  14.6k|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  344|  14.6k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|  14.6k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  345|  14.6k|        a += n;                                                                                    \
  |  |  346|  14.6k|        b += n;                                                                                    \
  |  |  347|  14.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (347:14): [Folded, False: 14.6k]
  |  |  ------------------
  ------------------
  351|  14.6k|    if (bytes & 8)
  ------------------
  |  Branch (351:9): [True: 0, False: 14.6k]
  ------------------
  352|      0|        SWAP(8);
  ------------------
  |  |  341|      0|    do {                                                                                           \
  |  |  342|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  343|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  344|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  345|      0|        a += n;                                                                                    \
  |  |  346|      0|        b += n;                                                                                    \
  |  |  347|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (347:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  353|  14.6k|    if (bytes & 4)
  ------------------
  |  Branch (353:9): [True: 0, False: 14.6k]
  ------------------
  354|      0|        SWAP(4);
  ------------------
  |  |  341|      0|    do {                                                                                           \
  |  |  342|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  343|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  344|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  345|      0|        a += n;                                                                                    \
  |  |  346|      0|        b += n;                                                                                    \
  |  |  347|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (347:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  355|  14.6k|    if (bytes & 2)
  ------------------
  |  Branch (355:9): [True: 0, False: 14.6k]
  ------------------
  356|      0|        SWAP(2);
  ------------------
  |  |  341|      0|    do {                                                                                           \
  |  |  342|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  343|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  344|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  421|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  345|      0|        a += n;                                                                                    \
  |  |  346|      0|        b += n;                                                                                    \
  |  |  347|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (347:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  357|  14.6k|    if (bytes & 1) {
  ------------------
  |  Branch (357:9): [True: 0, False: 14.6k]
  ------------------
  358|      0|        byte tmp = *a;
  359|      0|        *a = *b;
  360|      0|        *b = tmp;
  361|      0|    }
  362|  14.6k|#undef SWAP
  363|  14.6k|#endif // clang bug
  364|  14.6k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  462|  14.6k|TEST_CASE("upx_memswap") {
  463|  14.6k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  464|  14.6k|        byte p[4] = {0, 1, 2, 3};
  465|  14.6k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  466|  14.6k|        upx_memswap(p + off1, p + off2, len);
  467|  14.6k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  468|  14.6k|    };
  469|       |    // identical
  470|  14.6k|    check4(0, 0, 4, 0, 1, 2, 3);
  471|       |    // non-overlapping
  472|  14.6k|    check4(0, 1, 1, 1, 0, 2, 3);
  473|  14.6k|    check4(1, 0, 1, 1, 0, 2, 3);
  474|  14.6k|    check4(0, 2, 2, 2, 3, 0, 1);
  475|  14.6k|    check4(2, 0, 2, 2, 3, 0, 1);
  476|       |    // overlapping
  477|  14.6k|    check4(0, 1, 2, 1, 2, 0, 3);
  478|  14.6k|    check4(1, 0, 2, 1, 2, 0, 3);
  479|  14.6k|    check4(0, 1, 3, 1, 2, 3, 0);
  480|  14.6k|    check4(1, 0, 3, 1, 2, 3, 0);
  481|       |
  482|       |    // pointer array
  483|  14.6k|    {
  484|  14.6k|        typedef byte element_type;
  485|  14.6k|        element_type a = 11, b = 22;
  486|  14.6k|        element_type *array[4];
  487|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  488|  14.6k|        memset(array, 0xfb, sizeof(array));
  489|  14.6k|        array[1] = &a;
  490|  14.6k|        array[3] = &b;
  491|  14.6k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  14.6k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  494|       |        // TODO later: CHERI clang-14 bug/miscompilation with upx_memswap(); or
  495|       |        //   maybe caused by tagged-memory issues ???
  496|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  497|       |        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  498|       |#else
  499|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  500|  14.6k|        upx_memswap(array, array + 2, 2 * sizeof(array[0]));
  501|  14.6k|#endif
  502|  14.6k|        CHECK(array[1] == &b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  503|  14.6k|        CHECK(array[3] == &a);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  504|  14.6k|        CHECK(*array[1] == 22);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  505|  14.6k|        CHECK(*array[3] == 11);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  506|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  507|  14.6k|        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  508|  14.6k|        CHECK(array[1] == &a);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  509|  14.6k|        CHECK(array[3] == &b);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  510|  14.6k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  511|  14.6k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  512|  14.6k|    }
  513|  14.6k|}
util.cpp:_ZZL19DOCTEST_ANON_FUNC_6vENK3$_0clEiiiiiii:
  463|   132k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  464|   132k|        byte p[4] = {0, 1, 2, 3};
  465|   132k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  ------------------
  |  |  515|   132k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   264k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 132k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|      0|        upx_memswap(p + off1, p + off2, len);
  467|   132k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  ------------------
  |  | 2968|   132k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   132k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   132k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   132k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   132k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   132k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   132k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   132k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   132k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   132k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   132k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   792k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 132k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 132k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 132k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 132k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|   132k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   132k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   132k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   132k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   132k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 132k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   132k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   132k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   132k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   132k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   132k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   132k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 132k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  468|   132k|    };
util.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  644|  14.6k|TEST_CASE("find") {
  645|  14.6k|    CHECK(find(nullptr, -1, nullptr, -1) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  646|  14.6k|    static const byte b[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
  647|  14.6k|    CHECK(find(b, 16, b, 0) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  648|   249k|    for (int i = 0; i < 16; i++) {
  ------------------
  |  Branch (648:21): [True: 234k, False: 14.6k]
  ------------------
  649|   234k|        CHECK(find(b, 16, b + i, 1) == i);
  ------------------
  |  | 2968|   234k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   234k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   234k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   234k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   234k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   234k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   234k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   234k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   234k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   234k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   234k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   234k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   234k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   234k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   234k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   234k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  650|   234k|    }
  651|   249k|    for (int i = 1; i <= 16; i++) {
  ------------------
  |  Branch (651:21): [True: 234k, False: 14.6k]
  ------------------
  652|   234k|        CHECK(find(b, 16, b, i) == 0);
  ------------------
  |  | 2968|   234k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   234k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   234k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   234k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   234k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   234k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   234k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   234k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   234k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   234k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   234k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   234k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   234k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   234k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   234k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   234k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   234k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 234k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   234k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   234k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   234k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   234k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   234k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   234k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 234k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  653|   234k|    }
  654|  14.6k|    CHECK(find(b, 16, b, 17) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  655|  14.6k|    CHECK(find_be16(b, 16, 0x0203) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  656|  14.6k|    CHECK(find_le16(b, 16, 0x0302) == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  657|  14.6k|    CHECK(find_be32(b, 16, 0x04050607) == 4);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  658|  14.6k|    CHECK(find_le32(b, 16, 0x07060504) == 4);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  659|  14.6k|    CHECK(find_be64(b, 16, 0x08090a0b0c0d0e0fULL) == 8);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  660|  14.6k|    CHECK(find_le64(b, 16, 0x0f0e0d0c0b0a0908ULL) == 8);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  661|  14.6k|    CHECK(find_be64(b, 15, 0x08090a0b0c0d0e0fULL) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  662|  14.6k|    CHECK(find_le64(b, 15, 0x0f0e0d0c0b0a0908ULL) == -1);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  663|  14.6k|    UNUSED(b);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  664|  14.6k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  683|  14.6k|TEST_CASE("mem_replace") {
  684|  14.6k|    char b[16 + 1] = "aaaaaaaaaaaaaaaa";
  685|  14.6k|    CHECK(mem_replace(b, 16, "a", 0, "x") == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  686|  14.6k|    CHECK(mem_replace(b, 16, "a", 1, "b") == 16);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  687|  14.6k|    CHECK(mem_replace(b, 8, "bb", 2, "cd") == 4);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  688|  14.6k|    CHECK(mem_replace(b + 8, 8, "bbb", 3, "efg") == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  689|  14.6k|    CHECK(mem_replace(b, 16, "b", 1, "h") == 2);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  690|  14.6k|    CHECK(strcmp(b, "cdcdcdcdefgefghh") == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  691|  14.6k|    UNUSED(b);
  ------------------
  |  |  268|  14.6k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.6k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  692|  14.6k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1032|  14.6k|TEST_CASE("get_ratio") {
 1033|  14.6k|    CHECK(get_ratio(0, 0) == 0);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1034|  14.6k|    CHECK(get_ratio(0, 1) == 1000000);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1035|  14.6k|    CHECK(get_ratio(1, 0) == 50);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1036|  14.6k|    CHECK(get_ratio(1, 1) == 1000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1037|  14.6k|    CHECK(get_ratio(1, 9) == 9000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1038|  14.6k|    CHECK(get_ratio(1, 10) == 9999999);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1039|  14.6k|    CHECK(get_ratio(1, 11) == 9999999);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1040|  14.6k|    CHECK(get_ratio(100000, 100000) == 1000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1041|  14.6k|    CHECK(get_ratio(100000, 200000) == 2000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1042|  14.6k|    CHECK(get_ratio(UPX_RSIZE_MAX, UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1043|  14.6k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 2 * UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1044|  14.6k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 1024ull * UPX_RSIZE_MAX) == 9999999);
  ------------------
  |  | 2968|  14.6k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.6k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.6k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.6k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.6k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.6k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.6k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.6k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.6k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.6k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.6k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.6k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.6k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.6k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.6k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.6k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.6k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.6k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.6k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.6k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.6k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.6k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.6k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1045|  14.6k|}

_Z22mem_size_get_rsize_maxi:
   36|  38.7M|forceinline constexpr unsigned mem_size_get_rsize_max(int cmd) noexcept {
   37|  38.7M|    return opt_is_compress(cmd) ? UPX_RSIZE_MAX : UPX_RSIZE_MAX_NOCOMP;
  ------------------
  |  |  178|  30.9M|#define UPX_RSIZE_MAX        UPX_RSIZE_MAX_MEM
  |  |  ------------------
  |  |  |  |  179|  30.9M|#define UPX_RSIZE_MAX_MEM    (768 * 1024 * 1024) // DO NOT CHANGE !!!
  |  |  ------------------
  ------------------
                  return opt_is_compress(cmd) ? UPX_RSIZE_MAX : UPX_RSIZE_MAX_NOCOMP;
  ------------------
  |  |  184|  46.6M|#define UPX_RSIZE_MAX_NOCOMP (1536 * 1024 * 1024)
  ------------------
  |  Branch (37:12): [True: 30.9M, False: 7.88M]
  ------------------
   38|  38.7M|}
_Z20mem_size_valid_byteso:
   40|  1.61M|inline bool mem_size_valid_bytes(upx_uintmax_t bytes) noexcept {
   41|  1.61M|    const unsigned rsize_max = mem_size_get_rsize_max(opt->cmd);
   42|  1.61M|    return bytes <= rsize_max;
   43|  1.61M|}
_Z8mem_sizeyy:
   60|  10.5M|inline upx_rsize_t mem_size(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   61|  10.5M|    const unsigned rsize_max = mem_size_get_rsize_max(opt->cmd);
   62|  10.5M|    const upx_uint64_t bytes = element_size * n;
   63|  10.5M|    if very_unlikely (element_size == 0 || element_size > rsize_max || n > rsize_max ||
  ------------------
  |  |  264|  10.5M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  10.5M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  63.0M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.1k, False: 10.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.5M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.5M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 44.1k, False: 10.4M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 12, False: 10.4M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   64|  44.1k|                      bytes > rsize_max)
   65|  44.1k|        return mem_size(element_size, n, 0, 0); // this will throw
   66|  10.4M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  10.4M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  10.4M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   67|  10.5M|}
_Z14mem_size_get_nyy:
   70|  29.0k|inline upx_rsize_t mem_size_get_n(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   71|  29.0k|    (void) mem_size(element_size, n); // assert size
   72|  29.0k|    return ACC_ICONV(upx_rsize_t, n); // and return n
  ------------------
  |  | 1546|  29.0k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  29.0k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   73|  29.0k|}
_Z15mem_size_assertyy:
   76|   480k|inline void mem_size_assert(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   77|   480k|    (void) mem_size(element_size, n); // assert size
   78|   480k|}
_Z24mem_size_assert_noexceptyy:
   79|  29.3k|inline void mem_size_assert_noexcept(upx_uint64_t element_size, upx_uint64_t n) noexcept {
   80|  29.3k|    assert_noexcept(mem_size_valid(element_size, n)); // assert size
  ------------------
  |  |  515|  29.3k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   81|  29.3k|}
_Z15ptr_get_addressPKv:
  131|  52.8M|forceinline upx_ptraddr_t ptr_get_address(const void *p) noexcept { return (upx_uintptr_t) p; }
_Z12ptraddr_diffPKvS0_:
  135|  8.07M|forceinline upx_sptraddr_t ptraddr_diff(const void *a, const void *b) noexcept {
  136|  8.07M|    return ptr_get_address(a) - ptr_get_address(b);
  137|  8.07M|}
_Z14ptr_is_alignedPKvm:
  144|  88.0k|forceinline bool ptr_is_aligned(const void *p, size_t alignment) noexcept {
  145|  88.0k|    assert_noexcept(upx::has_single_bit(alignment));
  ------------------
  |  |  515|  88.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 88.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (515:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  146|      0|    return (ptr_get_address(p) & (alignment - 1)) == 0;
  147|  88.0k|}
_Z20ptr_check_no_overlapPKvmS0_m:
  187|      3|    may_throw {
  188|      3|    ptraddr_check_no_overlap(ptr_get_address(a), a_size, ptr_get_address(b), b_size);
  189|      3|}
_Z25ptr_invalidate_and_poisonIiEvRPT_:
  204|   102k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  205|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  206|       |    // TODO later: examine __builtin_cheri_bounds_set()
  207|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  208|       |#else
  209|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  210|   102k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  211|   102k|#endif
  212|   102k|}
_Z25ptr_invalidate_and_poisonIdEvRPT_:
  204|  14.6k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  205|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  206|       |    // TODO later: examine __builtin_cheri_bounds_set()
  207|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  208|       |#else
  209|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  210|  14.6k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  211|  14.6k|#endif
  212|  14.6k|}
_Z14ptr_is_alignedILm16EEbPKv:
  140|  29.3k|forceinline bool ptr_is_aligned(const void *p) noexcept {
  141|  29.3k|    static_assert(upx::has_single_bit(Alignment));
  142|  29.3k|    return (ptr_get_address(p) & (Alignment - 1)) == 0;
  143|  29.3k|}
_Z14ptr_align_downIKhEPT_S2_m:
  150|  58.7k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  151|  58.7k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  152|  58.7k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  153|  58.7k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  154|  58.7k|}
_Z12ptr_align_upIKhEPT_S2_m:
  156|  58.7k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  157|  58.7k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  158|  58.7k|    return upx::ptr_static_cast<T *>(
  159|  58.7k|        upx::ptr_static_cast<CharPtr>(p) +
  160|  58.7k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  161|  58.7k|}
_Z4NewTI4LE32EPT_y:
   85|  29.3k|inline T *NewT(upx_uint64_t n) may_throw {
   86|  29.3k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|  29.3k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|  29.3k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|  29.3k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|  29.3k|    T *array = new T[size_t(n)];
   91|  29.3k|#if !defined(__SANITIZE_MEMORY__)
   92|  29.3k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|  29.3k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  58.7k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  29.3k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|  29.3k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  29.3k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  29.3k|    __extension__                                                 \
  |  |  |  |  427|  29.3k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  29.3k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  29.3k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  29.3k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  29.3k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  29.3k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  29.3k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  29.3k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  29.3k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  29.3k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  29.3k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  29.3k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  29.3k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  29.3k|                     : "cc", "memory"                             \
  |  |  |  |  441|  29.3k|                    );                                            \
  |  |  |  |  442|  29.3k|    _zzq_result;                                                  \
  |  |  |  |  443|  29.3k|    })
  |  |  ------------------
  |  |  121|  29.3k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  29.3k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|  29.3k|    }
   96|  29.3k|#endif
   97|  29.3k|    UNUSED(bytes);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|  29.3k|    return array;
   99|  29.3k|}
_Z4NewTI4BE32EPT_y:
   85|  29.3k|inline T *NewT(upx_uint64_t n) may_throw {
   86|  29.3k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|  29.3k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|  29.3k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|  29.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|  29.3k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|  29.3k|    T *array = new T[size_t(n)];
   91|  29.3k|#if !defined(__SANITIZE_MEMORY__)
   92|  29.3k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|  29.3k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  58.7k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.3k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.3k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  29.3k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|  29.3k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  29.3k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  29.3k|    __extension__                                                 \
  |  |  |  |  427|  29.3k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  29.3k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  29.3k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  29.3k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  29.3k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  29.3k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  29.3k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  29.3k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  29.3k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  29.3k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  29.3k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  29.3k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  29.3k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  29.3k|                     : "cc", "memory"                             \
  |  |  |  |  441|  29.3k|                    );                                            \
  |  |  |  |  442|  29.3k|    _zzq_result;                                                  \
  |  |  |  |  443|  29.3k|    })
  |  |  ------------------
  |  |  121|  29.3k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  29.3k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|  29.3k|    }
   96|  29.3k|#endif
   97|  29.3k|    UNUSED(bytes);
  ------------------
  |  |  268|  29.3k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.3k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|  29.3k|    return array;
   99|  29.3k|}
_Z12ptr_align_upIvEPT_S1_m:
  156|  14.6k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  157|  14.6k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  158|  14.6k|    return upx::ptr_static_cast<T *>(
  159|  14.6k|        upx::ptr_static_cast<CharPtr>(p) +
  160|  14.6k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  161|  14.6k|}
_Z14ptr_align_downItEPT_S1_m:
  150|  29.3k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  151|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  152|  29.3k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  153|  29.3k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  154|  29.3k|}
_Z12ptr_align_upItEPT_S1_m:
  156|  29.3k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  157|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  158|  29.3k|    return upx::ptr_static_cast<T *>(
  159|  29.3k|        upx::ptr_static_cast<CharPtr>(p) +
  160|  29.3k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  161|  29.3k|}
_Z14ptr_align_downIjEPT_S1_m:
  150|  29.3k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  151|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  152|  29.3k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  153|  29.3k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  154|  29.3k|}
_Z12ptr_align_upIjEPT_S1_m:
  156|  29.3k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  157|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  158|  29.3k|    return upx::ptr_static_cast<T *>(
  159|  29.3k|        upx::ptr_static_cast<CharPtr>(p) +
  160|  29.3k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  161|  29.3k|}
_Z14ptr_align_downIyEPT_S1_m:
  150|  29.3k|forceinline T *ptr_align_down(T *p, size_t alignment) noexcept {
  151|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  152|  29.3k|    return upx::ptr_static_cast<T *>(upx::ptr_static_cast<CharPtr>(p) -
  153|  29.3k|                                     size_t(ptr_get_address(p) & (alignment - 1)));
  154|  29.3k|}
_Z12ptr_align_upIyEPT_S1_m:
  156|  29.3k|forceinline T *ptr_align_up(T *p, size_t alignment) noexcept {
  157|  29.3k|    typedef std::conditional_t<std::is_const_v<T>, const char *, char *> CharPtr;
  158|  29.3k|    return upx::ptr_static_cast<T *>(
  159|  29.3k|        upx::ptr_static_cast<CharPtr>(p) +
  160|  29.3k|        size_t((upx_ptraddr_t(0) - ptr_get_address(p)) & (alignment - 1)));
  161|  29.3k|}
_Z4NewTIN6LeFile23le_object_table_entry_tEEPT_y:
   85|    219|inline T *NewT(upx_uint64_t n) may_throw {
   86|    219|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|    219|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    219|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|    219|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|    219|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    219|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|    219|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|    219|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    219|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|    219|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|    219|    T *array = new T[size_t(n)];
   91|    219|#if !defined(__SANITIZE_MEMORY__)
   92|    219|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|    219|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    420|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 200, False: 19]
  |  |  |  |  |  Branch (2016:54): [True: 201, False: 18]
  |  |  |  |  |  Branch (2016:54): [True: 200, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|    200|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|    200|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    200|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    200|    __extension__                                                 \
  |  |  |  |  427|    200|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    200|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    200|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    200|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    200|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    200|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    200|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    200|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    200|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    200|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    200|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    200|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    200|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    200|                     : "cc", "memory"                             \
  |  |  |  |  441|    200|                    );                                            \
  |  |  |  |  442|    200|    _zzq_result;                                                  \
  |  |  |  |  443|    200|    })
  |  |  ------------------
  |  |  121|    200|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    200|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|    200|    }
   96|    219|#endif
   97|    219|    UNUSED(bytes);
  ------------------
  |  |  268|    219|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    219|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|    219|    return array;
   99|    219|}
_Z4NewTIN6LeFile18le_pagemap_entry_tEEPT_y:
   85|    172|inline T *NewT(upx_uint64_t n) may_throw {
   86|    172|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|    172|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    172|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|    172|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|    172|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    172|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|    172|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|    172|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    172|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|    172|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|    172|    T *array = new T[size_t(n)];
   91|    172|#if !defined(__SANITIZE_MEMORY__)
   92|    172|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|    172|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    344|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 172, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 172, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 172, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|    172|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|    172|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    172|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    172|    __extension__                                                 \
  |  |  |  |  427|    172|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    172|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    172|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    172|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    172|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    172|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    172|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    172|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    172|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    172|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    172|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    172|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    172|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    172|                     : "cc", "memory"                             \
  |  |  |  |  441|    172|                    );                                            \
  |  |  |  |  442|    172|    _zzq_result;                                                  \
  |  |  |  |  443|    172|    })
  |  |  ------------------
  |  |  121|    172|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    172|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|    172|    }
   96|    172|#endif
   97|    172|    UNUSED(bytes);
  ------------------
  |  |  268|    172|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    172|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|    172|    return array;
   99|    172|}
_Z4NewTIhEPT_y:
   85|    423|inline T *NewT(upx_uint64_t n) may_throw {
   86|    423|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|    423|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    423|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|    423|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|    423|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    423|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|    423|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|    423|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    423|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|    423|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|    423|    T *array = new T[size_t(n)];
   91|    423|#if !defined(__SANITIZE_MEMORY__)
   92|    423|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|    423|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    811|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 226, False: 197]
  |  |  |  |  |  Branch (2016:54): [True: 388, False: 35]
  |  |  |  |  |  Branch (2016:54): [True: 226, False: 162]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|    226|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|    226|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    226|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    226|    __extension__                                                 \
  |  |  |  |  427|    226|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    226|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    226|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    226|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    226|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    226|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    226|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    226|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    226|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    226|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    226|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    226|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    226|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    226|                     : "cc", "memory"                             \
  |  |  |  |  441|    226|                    );                                            \
  |  |  |  |  442|    226|    _zzq_result;                                                  \
  |  |  |  |  443|    226|    })
  |  |  ------------------
  |  |  121|    226|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    226|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|    226|    }
   96|    423|#endif
   97|    423|    UNUSED(bytes);
  ------------------
  |  |  268|    423|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    423|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|    423|    return array;
   99|    423|}
_Z4NewTIjEPT_y:
   85|    112|inline T *NewT(upx_uint64_t n) may_throw {
   86|    112|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|    112|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    112|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   87|    112|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|    112|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    112|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   88|    112|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|    112|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    112|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   89|    112|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   90|    112|    T *array = new T[size_t(n)];
   91|    112|#if !defined(__SANITIZE_MEMORY__)
   92|    112|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  261|    112|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    224|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 112, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 112, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 112, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|    112|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   94|    112|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    112|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    112|    __extension__                                                 \
  |  |  |  |  427|    112|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    112|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    112|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    112|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    112|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    112|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    112|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    112|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    112|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    112|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    112|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    112|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    112|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    112|                     : "cc", "memory"                             \
  |  |  |  |  441|    112|                    );                                            \
  |  |  |  |  442|    112|    _zzq_result;                                                  \
  |  |  |  |  443|    112|    })
  |  |  ------------------
  |  |  121|    112|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    112|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   95|    112|    }
   96|    112|#endif
   97|    112|    UNUSED(bytes);
  ------------------
  |  |  268|    112|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    112|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|    112|    return array;
   99|    112|}
_Z25ptr_invalidate_and_poisonIhEvRPT_:
  204|      6|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  205|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  206|       |    // TODO later: examine __builtin_cheri_bounds_set()
  207|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  208|       |#else
  209|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  210|      6|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  211|      6|#endif
  212|      6|}
_Z25ptr_invalidate_and_poisonIN6PeFile5Reloc9BaseRelocEEvRPT_:
  204|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  205|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  206|       |    // TODO later: examine __builtin_cheri_bounds_set()
  207|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  208|       |#else
  209|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  210|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  211|      3|#endif
  212|      3|}
_Z25ptr_invalidate_and_poisonI4LE16EvRPT_:
  204|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  205|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  206|       |    // TODO later: examine __builtin_cheri_bounds_set()
  207|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  208|       |#else
  209|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  210|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  211|      3|#endif
  212|      3|}
_Z5New0TIPN6PeFile8Resource9upx_rnodeEEPT_y:
  107|    126|inline T *New0T(upx_uint64_t n) may_throw {
  108|    126|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  266|    126|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    126|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  109|    126|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  266|    126|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    126|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  110|    126|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  266|    126|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    126|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  111|    126|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
  112|    126|    T *array = new T[size_t(n)];
  113|    126|    if likely (array != nullptr && bytes > 0)
  ------------------
  |  |  261|    126|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    252|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 126, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 126, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 126, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|    126|        memset(array, 0, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
  115|    126|    return array;
  116|    126|}
_Z8ptr_diffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEiE4typeEPKS2_PKS3_:
  171|  44.0k|ptr_diff(const T *a, const U *b) may_throw {
  172|  44.0k|    return ptr_diff_bytes(a, b);
  173|  44.0k|}
_Z9ptr_udiffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEjE4typeEPKS2_PKS3_:
  176|  44.0k|ptr_udiff(const T *a, const U *b) may_throw {
  177|  44.0k|    return ptr_udiff_bytes(a, b);
  178|  44.0k|}

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

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

_ZN5XSpan14XSpanDebugFile4makeEPKcm:
   63|  1.58M|    static forceinline_constexpr XSpanDebugFile make(const char *f, size_t l) noexcept {
   64|  1.58M|        return XSpanDebugFile(f, l);
   65|  1.58M|    }
_ZN5XSpan14XSpanDebugFileC2Ev:
   66|  20.9M|    explicit forceinline_constexpr XSpanDebugFile() noexcept : src_file(nullptr), src_line(0) {}
_ZN5XSpan14XSpanDebugFileC2EPKcm:
   68|  1.58M|    explicit forceinline_constexpr XSpanDebugFile(const char *f, size_t l) noexcept : src_file(f),
   69|  1.58M|                                                                                      src_line(l) {}
_ZN5XSpan16XSpanSizeInBytesC2Em:
   97|  1.07M|    explicit forceinline_constexpr XSpanSizeInBytes(size_t bytes) noexcept : size_in_bytes(bytes) {}
_ZN5XSpan21XSpanInternalDummyArgC2EONS0_9DummyEnumE:
  270|   743k|    explicit forceinline_constexpr XSpanInternalDummyArg(DummyEnum &&) noexcept {}
dt_cxxlib.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|   880k|static forceinline size_t xspan_mem_size(size_t n) {
  140|   880k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|   880k|}
dt_cxxlib.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|   880k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|   880k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|   880k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|   880k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|  3.97M|static forceinline size_t xspan_mem_size(size_t n) {
  140|  3.97M|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  3.97M|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|  3.97M|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  3.97M|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  3.97M|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  3.97M|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIKcEEmm:
  139|  58.7k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  58.7k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  58.7k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIKcEEmm:
  128|  58.7k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  58.7k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  58.7k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  58.7k|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIcEEvl:
  144|  3.74M|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  3.74M|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 3.74M, False: 0]
  ------------------
  146|  3.74M|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  3.74M|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffItEEvl:
  144|  88.0k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  88.0k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 88.0k, False: 0]
  ------------------
  146|  88.0k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  88.0k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeItEEmm:
  139|  88.0k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  88.0k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  88.0k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implItEEmm:
  128|  88.0k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  88.0k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  88.0k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  88.0k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|    140|static forceinline size_t xspan_mem_size(size_t n) {
  140|    140|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|    140|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|    140|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|    140|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|    140|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|    140|}
lefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  144|  47.7k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  47.7k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 47.7k, False: 0]
  ------------------
  146|  47.7k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  47.7k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  139|  47.7k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  47.7k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  47.7k|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  128|  47.7k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  47.7k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  47.7k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  47.7k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  139|   718k|static forceinline size_t xspan_mem_size(size_t n) {
  140|   718k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|   718k|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  128|   718k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|   718k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|   718k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|   718k|}
lefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  144|   718k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|   718k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 718k, False: 0]
  ------------------
  146|   718k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|   718k|}
p_com.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|   137k|static forceinline size_t xspan_mem_size(size_t n) {
  140|   137k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|   137k|}
p_com.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|   137k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|   137k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|   137k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|   137k|}
p_djgpp2.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|  35.3k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  35.3k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  35.3k|}
p_djgpp2.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|  35.3k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  35.3k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  35.3k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  35.3k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  144|  62.6k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  62.6k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 62.6k, False: 0]
  ------------------
  146|  62.6k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  62.6k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  139|  62.6k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  62.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  62.6k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  128|  62.6k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  62.6k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  62.6k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  62.6k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|  23.9k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  23.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  23.9k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|  23.9k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  23.9k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  23.9k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  23.9k|}
packer.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  139|  34.6k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  34.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  34.6k|}
packer.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  128|  34.6k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  34.6k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  34.6k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  34.6k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  144|  47.7k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  47.7k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 47.7k, False: 0]
  ------------------
  146|  47.7k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  47.7k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  139|  47.7k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  47.7k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  47.7k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  128|  47.7k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  47.7k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  47.7k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  47.7k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|      3|static forceinline size_t xspan_mem_size(size_t n) {
  140|      3|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|      3|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|      3|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|      3|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|      3|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|      3|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  144|  29.9k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  29.9k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 29.9k, False: 0]
  ------------------
  146|  29.9k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  29.9k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  139|  29.9k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  29.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  29.9k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  128|  29.9k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  29.9k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  29.9k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  29.9k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  144|  23.8k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  23.8k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 23.8k, False: 0]
  ------------------
  146|  23.8k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  23.8k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  139|  23.8k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  23.8k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  23.8k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  128|  23.8k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  23.8k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  23.8k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  23.8k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  144|  23.8k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  23.8k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 23.8k, False: 0]
  ------------------
  146|  23.8k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  23.8k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  139|  23.9k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  23.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  23.9k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  128|  23.9k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  23.9k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  23.9k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  23.9k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE16EEvl:
  144|  23.8k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  23.8k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 23.8k, False: 0]
  ------------------
  146|  23.8k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  23.8k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE16EEmm:
  139|  23.8k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  23.8k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  23.8k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE16EEmm:
  128|  23.8k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  23.8k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  23.8k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  23.8k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile12pe_section_tEEEvl:
  144|  1.68k|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|  1.68k|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 1.68k, False: 0]
  ------------------
  146|  1.68k|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|  1.68k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile12pe_section_tEEEmm:
  139|  1.68k|static forceinline size_t xspan_mem_size(size_t n) {
  140|  1.68k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|  1.68k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile12pe_section_tEEEmm:
  128|  1.68k|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|  1.68k|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|  1.68k|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|  1.68k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  139|    761|static forceinline size_t xspan_mem_size(size_t n) {
  140|    761|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|    761|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  128|    761|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|    761|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|    761|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|    761|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile11import_descEEEvl:
  144|    186|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|    186|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 186, False: 0]
  ------------------
  146|    186|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|    186|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile11import_descEEEmm:
  139|    186|static forceinline size_t xspan_mem_size(size_t n) {
  140|    186|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|    186|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile11import_descEEEmm:
  128|    186|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|    186|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|    186|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|    186|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE64EEvl:
  144|    650|static forceinline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  145|    650|    if (n >= 0)
  ------------------
  |  Branch (145:9): [True: 650, False: 0]
  ------------------
  146|    650|        (void) xspan_mem_size<T>((size_t) n);
  147|      0|    else
  148|      0|        (void) xspan_mem_size<T>((size_t) -n);
  149|    650|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE64EEmm:
  139|    650|static forceinline size_t xspan_mem_size(size_t n) {
  140|    650|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  141|    650|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE64EEmm:
  128|    650|static forceinline size_t xspan_mem_size_impl(size_t n) {
  129|    650|#ifdef UPX_VERSION_HEX
  130|       |    // check for overflow and sane limits
  131|    650|    return mem_size(sizeof(T), n);
  132|       |#else
  133|       |    return sizeof(T) * n;
  134|       |#endif
  135|    650|}

_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   220k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   220k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   220k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   220k|        assertInvariants();
  150|   220k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE7makePtrEPi:
   88|   220k|    static inline pointer makePtr(pointer p) {
   89|   220k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   220k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   220k|        return p;
   92|   220k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE8makeBaseEPi:
   93|   220k|    static inline pointer makeBase(pointer b) {
   94|   220k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   220k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   220k|        return b;
   97|   220k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE16assertInvariantsEv:
   79|   484k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiEeqEPi:
  400|   117k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIiED2Ev:
  120|   337k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE9ensurePtrEv:
   99|  58.7k|    inline pointer ensurePtr() const {
  100|  58.7k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 58.7k]
  |  |  |  Branch (1558:47): [True: 58.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 58.7k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  58.7k|        return ptr;
  103|  58.7k|    }
_ZNK5XSpan9PtrOrSpanIiE16assertInvariantsEv:
   79|   440k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIiEeqEPi:
  400|   117k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIiED2Ev:
  120|   278k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE10ensureBaseEv:
  104|  29.3k|    inline pointer ensureBase() const {
  105|  29.3k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  29.3k|        return base;
  108|  29.3k|    }
_ZNK5XSpan4SpanIiE16assertInvariantsEv:
   79|   440k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIiEeqEPi:
  400|   117k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIiED2Ev:
  120|   278k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   220k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   220k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   220k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   220k|        assertInvariants();
  150|   220k|    }
_ZN5XSpan9PtrOrSpanIiE7makePtrEPi:
   88|   220k|    static inline pointer makePtr(pointer p) {
   89|   220k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   440k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 220k]
  |  |  |  Branch (1558:47): [True: 220k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 220k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   220k|        return p;
   92|   220k|    }
_ZN5XSpan9PtrOrSpanIiE8makeBaseEPi:
   93|   220k|    static inline pointer makeBase(pointer b) {
   94|   220k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   220k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [Folded, False: 220k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   220k|        return b;
   97|   220k|    }
_ZNK5XSpan9PtrOrSpanIiE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIiE10ensureBaseEv:
  104|  29.3k|    inline pointer ensureBase() const {
  105|  29.3k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  29.3k|        return base;
  108|  29.3k|    }
_ZN5XSpan4SpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  147|   220k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   220k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|   220k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|   220k|        assertInvariants();
  150|   220k|    }
_ZN5XSpan4SpanIiE7makePtrEPi:
   88|   220k|    static inline pointer makePtr(pointer p) {
   89|   220k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   440k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 220k]
  |  |  |  Branch (1558:47): [True: 220k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 220k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   220k|        return p;
   92|   220k|    }
_ZN5XSpan4SpanIiE8makeBaseEPi:
   93|   220k|    static inline pointer makeBase(pointer b) {
   94|   220k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   440k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 220k]
  |  |  |  Branch (1558:47): [True: 220k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 220k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   220k|        return b;
   97|   220k|    }
_ZNK5XSpan4SpanIiE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castI4LE32EENS0_IT_EEv:
  389|  29.3k|    CSelf<U> type_cast() const {
  390|  29.3k|        typedef CSelf<U> R;
  391|  29.3k|        typedef typename R::pointer rpointer;
  392|  29.3k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  29.3k|                upx::ptr_static_cast<rpointer>(base));
  394|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  29.3k|        r.f = f;
  396|  29.3k|#endif
  397|  29.3k|        return r;
  398|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE32E16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullI4LE32EeqEPS1_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullI4LE32ED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castI4LE32EENS0_IT_EEv:
  389|  29.3k|    CSelf<U> type_cast() const {
  390|  29.3k|        typedef CSelf<U> R;
  391|  29.3k|        typedef typename R::pointer rpointer;
  392|  29.3k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  29.3k|                upx::ptr_static_cast<rpointer>(base));
  394|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  29.3k|        r.f = f;
  396|  29.3k|#endif
  397|  29.3k|        return r;
  398|  29.3k|    }
_ZN5XSpan9PtrOrSpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan9PtrOrSpanI4LE32E16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanI4LE32EeqEPS1_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanI4LE32ED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castI4LE32EENS0_IT_EEv:
  389|  29.3k|    CSelf<U> type_cast() const {
  390|  29.3k|        typedef CSelf<U> R;
  391|  29.3k|        typedef typename R::pointer rpointer;
  392|  29.3k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  29.3k|                upx::ptr_static_cast<rpointer>(base));
  394|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  29.3k|        r.f = f;
  396|  29.3k|#endif
  397|  29.3k|        return r;
  398|  29.3k|    }
_ZN5XSpan4SpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan4SpanI4LE32E16assertInvariantsEv:
   79|   119k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE32EeqEPS1_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanI4LE32ED2Ev:
  120|  53.3k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIiE10invalidateEv:
  122|  29.3k|    noinline void invalidate() {
  123|  29.3k|        assertInvariants();
  124|  29.3k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  29.3k|        base = ptr;                     // point to non-null invalid address
  126|  29.3k|        size_in_bytes = 0;
  127|  29.3k|        assertInvariants();
  128|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiEneEPi:
  406|  44.0k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan9PtrOrSpanIiE10invalidateEv:
  122|  29.3k|    noinline void invalidate() {
  123|  29.3k|        assertInvariants();
  124|  29.3k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  29.3k|        base = ptr;                     // point to non-null invalid address
  126|  29.3k|        size_in_bytes = 0;
  127|  29.3k|        assertInvariants();
  128|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIiEneEPi:
  406|  29.3k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan4SpanIiE10invalidateEv:
  122|  29.3k|    noinline void invalidate() {
  123|  29.3k|        assertInvariants();
  124|  29.3k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|  29.3k|        base = ptr;                     // point to non-null invalid address
  126|  29.3k|        size_in_bytes = 0;
  127|  29.3k|        assertInvariants();
  128|  29.3k|    }
_ZNK5XSpan4SpanIiEneEPi:
  406|  29.3k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZNK5XSpan15PtrOrSpanOrNullIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  360|  44.0k|    operator-(const CSelf<U> &other) const {
  361|  44.0k|        assertInvariants();
  362|  44.0k|        other.assertInvariants();
  363|  44.0k|        return check_ptrdiff(ptr, other.ptr);
  364|  44.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE13check_ptrdiffEPiS2_:
  548|  44.0k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  549|  44.0k|        assertInvariants();
  550|  44.0k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  264|  44.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.6k, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 14.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  44.0k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  264|  44.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  73.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 44.0k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.3k, False: 14.6k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  553|      0|            xspan_fail_nullptr();
  554|  44.0k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (554:13): [True: 29.3k, False: 14.6k]
  |  Branch (554:29): [True: 29.3k, False: 0]
  ------------------
  555|  29.3k|            (void) ptr_diff_bytes(a, b);
  556|  44.0k|        return a - b;
  557|  44.0k|    }
_ZNK5XSpan9PtrOrSpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  360|  29.3k|    operator-(const CSelf<U> &other) const {
  361|  29.3k|        assertInvariants();
  362|  29.3k|        other.assertInvariants();
  363|  29.3k|        return check_ptrdiff(ptr, other.ptr);
  364|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIiE13check_ptrdiffEPiS2_:
  548|  29.3k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  549|  29.3k|        assertInvariants();
  550|  29.3k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  29.3k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.3k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  553|      0|            xspan_fail_nullptr();
  554|  29.3k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (554:13): [True: 29.3k, False: 0]
  |  Branch (554:29): [True: 29.3k, False: 0]
  ------------------
  555|  29.3k|            (void) ptr_diff_bytes(a, b);
  556|  29.3k|        return a - b;
  557|  29.3k|    }
_ZNK5XSpan4SpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  360|  29.3k|    operator-(const CSelf<U> &other) const {
  361|  29.3k|        assertInvariants();
  362|  29.3k|        other.assertInvariants();
  363|  29.3k|        return check_ptrdiff(ptr, other.ptr);
  364|  29.3k|    }
_ZNK5XSpan4SpanIiE13check_ptrdiffEPiS2_:
  548|  29.3k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  549|  29.3k|        assertInvariants();
  550|  29.3k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  29.3k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.3k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  553|      0|            xspan_fail_nullptr();
  554|  29.3k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (554:13): [True: 29.3k, False: 0]
  |  Branch (554:29): [True: 29.3k, False: 0]
  ------------------
  555|  29.3k|            (void) ptr_diff_bytes(a, b);
  556|  29.3k|        return a - b;
  557|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  360|  14.6k|    operator-(const CSelf<U> &other) const {
  361|  14.6k|        assertInvariants();
  362|  14.6k|        other.assertInvariants();
  363|  14.6k|        return check_ptrdiff(ptr, other.ptr);
  364|  14.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiE16assertInvariantsEv:
   79|  88.0k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiE13check_ptrdiffEPS1_S3_:
  548|  29.3k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  549|  29.3k|        assertInvariants();
  550|  29.3k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.3k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  551|      0|            xspan_fail_nullptr();
  552|  29.3k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  264|  29.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.3k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  553|      0|            xspan_fail_nullptr();
  554|  29.3k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (554:13): [True: 0, False: 29.3k]
  |  Branch (554:29): [True: 0, False: 0]
  ------------------
  555|      0|            (void) ptr_diff_bytes(a, b);
  556|  29.3k|        return a - b;
  557|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIKiED2Ev:
  120|  44.0k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  360|  14.6k|    operator-(const CSelf<U> &other) const {
  361|  14.6k|        assertInvariants();
  362|  14.6k|        other.assertInvariants();
  363|  14.6k|        return check_ptrdiff(ptr, other.ptr);
  364|  14.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32E16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32EeqEPS2_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32ED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZN5XSpan9PtrOrSpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIK4LE32E16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIK4LE32EeqEPS2_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIK4LE32ED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZN5XSpan4SpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  271|  29.3k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  29.3k|        assertInvariants();
  273|  29.3k|    }
_ZNK5XSpan4SpanIK4LE32E16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIK4LE32EeqEPS2_:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIK4LE32ED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  73.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  73.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  73.3k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  73.3k|        assertInvariants();
  150|  73.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE7makePtrEPS1_:
   88|  73.3k|    static inline pointer makePtr(pointer p) {
   89|  73.3k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  73.3k|        return p;
   92|  73.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE8makeBaseEPS1_:
   93|  73.3k|    static inline pointer makeBase(pointer b) {
   94|  73.3k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  73.3k|        return b;
   97|  73.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE16assertInvariantsEv:
   79|  12.3M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhEeqEPS1_:
  400|  58.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIKhED2Ev:
  120|  6.20M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIKhE16assertInvariantsEv:
   79|   290k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIKhEeqEPS1_:
  400|  58.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIKhED2Ev:
  120|   204k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE10ensureBaseEv:
  104|  14.6k|    inline pointer ensureBase() const {
  105|  14.6k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 14.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  14.6k|        return base;
  108|  14.6k|    }
_ZNK5XSpan4SpanIKhE16assertInvariantsEv:
   79|  2.13M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKhEeqEPS1_:
  400|  58.7k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIKhED2Ev:
  120|   723k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  73.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  73.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  73.3k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  73.3k|        assertInvariants();
  150|  73.3k|    }
_ZN5XSpan9PtrOrSpanIKhE7makePtrEPS1_:
   88|   112k|    static inline pointer makePtr(pointer p) {
   89|   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]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   112k|        return p;
   92|   112k|    }
_ZN5XSpan9PtrOrSpanIKhE8makeBaseEPS1_:
   93|   108k|    static inline pointer makeBase(pointer b) {
   94|   108k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   108k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 108k]
  |  |  |  Branch (1558:47): [Folded, False: 108k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   108k|        return b;
   97|   108k|    }
_ZNK5XSpan9PtrOrSpanIKhE9ensurePtrEv:
   99|  53.4k|    inline pointer ensurePtr() const {
  100|  53.4k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  53.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 53.4k]
  |  |  |  Branch (1558:47): [Folded, False: 53.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  53.4k|        return ptr;
  103|  53.4k|    }
_ZNK5XSpan9PtrOrSpanIKhE10ensureBaseEv:
  104|  14.6k|    inline pointer ensureBase() const {
  105|  14.6k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 14.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.6k]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  14.6k|        return base;
  108|  14.6k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|  73.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  73.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|  73.3k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|  73.3k|        assertInvariants();
  150|  73.3k|    }
_ZN5XSpan4SpanIKhE7makePtrEPS1_:
   88|   108k|    static inline pointer makePtr(pointer p) {
   89|   108k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   216k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 108k]
  |  |  |  Branch (1558:47): [True: 108k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 108k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   108k|        return p;
   92|   108k|    }
_ZN5XSpan4SpanIKhE8makeBaseEPS1_:
   93|   108k|    static inline pointer makeBase(pointer b) {
   94|   108k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   216k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 108k]
  |  |  |  Branch (1558:47): [True: 108k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 108k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|   108k|        return b;
   97|   108k|    }
_ZNK5XSpan4SpanIKhE9ensurePtrEv:
   99|   498k|    inline pointer ensurePtr() const {
  100|   498k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   498k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 498k]
  |  |  |  Branch (1558:47): [Folded, False: 498k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   498k|        return ptr;
  103|   498k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZNK5XSpan9PtrOrSpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZNK5XSpan4SpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  389|  14.6k|    CSelf<U> type_cast() const {
  390|  14.6k|        typedef CSelf<U> R;
  391|  14.6k|        typedef typename R::pointer rpointer;
  392|  14.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  14.6k|                upx::ptr_static_cast<rpointer>(base));
  394|  14.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  14.6k|        r.f = f;
  396|  14.6k|#endif
  397|  14.6k|        return r;
  398|  14.6k|    }
_ZNK5XSpan4SpanI4LE32E9ensurePtrEv:
   99|  23.8k|    inline pointer ensurePtr() const {
  100|  23.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  23.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  23.8k|        return ptr;
  103|  23.8k|    }
_ZNK5XSpan4SpanI4LE32E10ensureBaseEv:
  104|  23.8k|    inline pointer ensureBase() const {
  105|  23.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  23.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  23.8k|        return base;
  108|  23.8k|    }
_ZNK5XSpan4SpanIKhE10ensureBaseEv:
  104|   483k|    inline pointer ensureBase() const {
  105|   483k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|   483k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 483k]
  |  |  |  Branch (1558:47): [Folded, False: 483k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|   483k|        return base;
  108|   483k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE16assertInvariantsEv:
   79|  2.62M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcE7makePtrEPc:
   88|   117k|    static inline pointer makePtr(pointer p) {
   89|   117k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 117k]
  |  |  |  Branch (1558:47): [True: 117k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 117k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   117k|        return p;
   92|   117k|    }
_ZNK5XSpan9PtrOrSpanIcE16assertInvariantsEv:
   79|  2.56M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  73.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  73.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  73.3k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  73.3k|        assertInvariants();
  163|  73.3k|    }
_ZN5XSpan4SpanIcE7makePtrEPc:
   88|  88.0k|    static inline pointer makePtr(pointer p) {
   89|  88.0k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 88.0k]
  |  |  |  Branch (1558:47): [True: 88.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 88.0k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  88.0k|        return p;
   92|  88.0k|    }
_ZN5XSpan4SpanIcE8makeBaseEPc:
   93|  88.0k|    static inline pointer makeBase(pointer b) {
   94|  88.0k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 88.0k]
  |  |  |  Branch (1558:47): [True: 88.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 88.0k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  88.0k|        return b;
   97|  88.0k|    }
_ZNK5XSpan4SpanIcE16assertInvariantsEv:
   79|  2.56M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKcE16assertInvariantsEv:
   79|  88.0k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKcE7makePtrEPS1_:
   88|  29.3k|    static inline pointer makePtr(pointer p) {
   89|  29.3k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  29.3k|        return p;
   92|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIKcE16assertInvariantsEv:
   79|  58.7k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  29.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  29.3k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  29.3k|        assertInvariants();
  163|  29.3k|    }
_ZN5XSpan4SpanIKcE7makePtrEPS1_:
   88|  29.3k|    static inline pointer makePtr(pointer p) {
   89|  29.3k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  29.3k|        return p;
   92|  29.3k|    }
_ZN5XSpan4SpanIKcE8makeBaseEPS1_:
   93|  29.3k|    static inline pointer makeBase(pointer b) {
   94|  29.3k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  29.3k|        return b;
   97|  29.3k|    }
_ZNK5XSpan4SpanIKcE16assertInvariantsEv:
   79|  29.3k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKcE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqEPc:
  400|  29.3k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  420|  29.3k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  421|  29.3k|        return ptr == other.ptr;
  422|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  415|  29.3k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  416|  29.3k|        return ptr == other.ptr;
  417|  29.3k|    }
_ZNK5XSpan4SpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  415|  29.3k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  416|  29.3k|        return ptr == other.ptr;
  417|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS0_IS6_EE:
  420|  29.3k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  421|  29.3k|        return ptr == other.ptr;
  422|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS_15PtrOrSpanOrNullIS6_EE:
  420|  29.3k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  421|  29.3k|        return ptr == other.ptr;
  422|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9raw_bytesEm:
  568|   234k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   234k|        assertInvariants();
  570|   234k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 88.0k, False: 146k]
  ------------------
  571|  88.0k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   176k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.3k, False: 58.7k]
  |  |  |  Branch (1558:47): [True: 88.0k, Folded]
  |  |  |  Branch (1558:47): [True: 29.3k, False: 58.7k]
  |  |  ------------------
  ------------------
  572|  29.3k|                xspan_fail_nullptr();
  573|  58.7k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.3k, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 58.7k]
  |  |  |  Branch (1558:47): [True: 29.3k, False: 29.3k]
  |  |  ------------------
  ------------------
  574|  29.3k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  58.7k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  58.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  58.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 58.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  58.7k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  58.7k|        }
  579|   205k|        return ptr;
  580|   234k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE7raw_ptrEv:
  564|  58.7k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIcE9raw_bytesEm:
  568|   176k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   176k|        assertInvariants();
  570|   176k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 58.7k, False: 117k]
  ------------------
  571|  58.7k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 58.7k]
  |  |  |  Branch (1558:47): [Folded, False: 58.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|  58.7k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.3k, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 58.7k]
  |  |  |  Branch (1558:47): [True: 29.3k, False: 29.3k]
  |  |  ------------------
  ------------------
  574|  29.3k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  58.7k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  58.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  58.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 58.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  58.7k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  58.7k|        }
  579|   176k|        return ptr;
  580|   176k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE17raw_size_in_bytesEv:
  566|  29.3k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIcE17raw_size_in_bytesEv:
  566|  29.3k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan4SpanIcE9raw_bytesEm:
  568|   205k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   205k|        assertInvariants();
  570|   205k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 117k, False: 88.0k]
  ------------------
  571|   117k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 117k]
  |  |  |  Branch (1558:47): [Folded, False: 117k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|   117k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   117k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 117k, Folded]
  |  |  |  Branch (1558:47): [True: 117k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|   117k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|   117k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|   117k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   117k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   117k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 117k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|   117k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|   117k|        }
  579|   205k|        return ptr;
  580|   205k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEplEl:
  502|   542k|    Self operator+(ptrdiff_t n) const {
  503|   542k|        pointer first = check_add(ptr, n);
  504|   542k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|   542k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|   542k|        r.f = f;
  507|   542k|#endif
  508|   542k|        return r;
  509|   542k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9check_addEPcl:
  538|  1.01M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  1.01M|        assertInvariants();
  540|  1.01M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  2.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.01M]
  |  |  |  Branch (1558:47): [True: 1.01M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.01M]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  1.01M|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  1.01M|        p += n;
  544|  1.01M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 997k, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [True: 997k, False: 14.6k]
  |  |  ------------------
  ------------------
  545|   997k|            xspan_check_range(p, base, size_in_bytes);
  546|  1.01M|        return p;
  547|  1.01M|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ENS1_13ModeUncheckedEPcmS3_:
  271|   542k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|   542k|        assertInvariants();
  273|   542k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9type_castItEENS0_IT_EEv:
  389|  58.7k|    CSelf<U> type_cast() const {
  390|  58.7k|        typedef CSelf<U> R;
  391|  58.7k|        typedef typename R::pointer rpointer;
  392|  58.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  58.7k|                upx::ptr_static_cast<rpointer>(base));
  394|  58.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  58.7k|        r.f = f;
  396|  58.7k|#endif
  397|  58.7k|        return r;
  398|  58.7k|    }
_ZN5XSpan15PtrOrSpanOrNullItEC2ENS1_13ModeUncheckedEPtmS3_:
  271|  88.0k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  88.0k|        assertInvariants();
  273|  88.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE16assertInvariantsEv:
   79|   234k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcED2Ev:
  120|   733k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIcEplEl:
  502|   542k|    Self operator+(ptrdiff_t n) const {
  503|   542k|        pointer first = check_add(ptr, n);
  504|   542k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|   542k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|   542k|        r.f = f;
  507|   542k|#endif
  508|   542k|        return r;
  509|   542k|    }
_ZNK5XSpan9PtrOrSpanIcE9check_addEPcl:
  538|  1.01M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  1.01M|        assertInvariants();
  540|  1.01M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.01M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  1.01M|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  1.01M|        p += n;
  544|  1.01M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 997k, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [True: 997k, False: 14.6k]
  |  |  ------------------
  ------------------
  545|   997k|            xspan_check_range(p, base, size_in_bytes);
  546|  1.01M|        return p;
  547|  1.01M|    }
_ZN5XSpan9PtrOrSpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  271|   542k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|   542k|        assertInvariants();
  273|   542k|    }
_ZNK5XSpan9PtrOrSpanIcE9type_castItEENS0_IT_EEv:
  389|  58.7k|    CSelf<U> type_cast() const {
  390|  58.7k|        typedef CSelf<U> R;
  391|  58.7k|        typedef typename R::pointer rpointer;
  392|  58.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  58.7k|                upx::ptr_static_cast<rpointer>(base));
  394|  58.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  58.7k|        r.f = f;
  396|  58.7k|#endif
  397|  58.7k|        return r;
  398|  58.7k|    }
_ZN5XSpan9PtrOrSpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  271|  88.0k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  88.0k|        assertInvariants();
  273|  88.0k|    }
_ZNK5XSpan9PtrOrSpanItE16assertInvariantsEv:
   79|   234k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcED2Ev:
  120|   675k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIcEplEl:
  502|   542k|    Self operator+(ptrdiff_t n) const {
  503|   542k|        pointer first = check_add(ptr, n);
  504|   542k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|   542k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|   542k|        r.f = f;
  507|   542k|#endif
  508|   542k|        return r;
  509|   542k|    }
_ZNK5XSpan4SpanIcE9check_addEPcl:
  538|  1.01M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  1.01M|        assertInvariants();
  540|  1.01M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.01M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [Folded, False: 1.01M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  1.01M|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  1.01M|        p += n;
  544|  1.01M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.01M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.01M, Folded]
  |  |  |  Branch (1558:47): [True: 1.01M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|  1.01M|            xspan_check_range(p, base, size_in_bytes);
  546|  1.01M|        return p;
  547|  1.01M|    }
_ZN5XSpan4SpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  271|   542k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|   542k|        assertInvariants();
  273|   542k|    }
_ZNK5XSpan4SpanIcE9type_castItEENS0_IT_EEv:
  389|  58.7k|    CSelf<U> type_cast() const {
  390|  58.7k|        typedef CSelf<U> R;
  391|  58.7k|        typedef typename R::pointer rpointer;
  392|  58.7k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|  58.7k|                upx::ptr_static_cast<rpointer>(base));
  394|  58.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|  58.7k|        r.f = f;
  396|  58.7k|#endif
  397|  58.7k|        return r;
  398|  58.7k|    }
_ZN5XSpan4SpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  271|  88.0k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  88.0k|        assertInvariants();
  273|  88.0k|    }
_ZNK5XSpan4SpanItE16assertInvariantsEv:
   79|   234k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcED2Ev:
  120|   645k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItE9raw_bytesEm:
  568|  88.0k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  88.0k|        assertInvariants();
  570|  88.0k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 0, False: 88.0k]
  ------------------
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|      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]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|      0|        }
  579|  88.0k|        return ptr;
  580|  88.0k|    }
_ZNK5XSpan9PtrOrSpanItE9raw_bytesEm:
  568|  88.0k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  88.0k|        assertInvariants();
  570|  88.0k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 0, False: 88.0k]
  ------------------
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|      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]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|      0|        }
  579|  88.0k|        return ptr;
  580|  88.0k|    }
_ZNK5XSpan4SpanItE9raw_bytesEm:
  568|  88.0k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  88.0k|        assertInvariants();
  570|  88.0k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 0, False: 88.0k]
  ------------------
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|      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]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|      0|        }
  579|  88.0k|        return ptr;
  580|  88.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullItEplEl:
  502|  29.3k|    Self operator+(ptrdiff_t n) const {
  503|  29.3k|        pointer first = check_add(ptr, n);
  504|  29.3k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  29.3k|        r.f = f;
  507|  29.3k|#endif
  508|  29.3k|        return r;
  509|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE9check_addEPtl:
  538|  29.3k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  29.3k|        assertInvariants();
  540|  29.3k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.3k]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  29.3k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  29.3k|        p += n;
  544|  29.3k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.6k, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 14.6k, False: 14.6k]
  |  |  ------------------
  ------------------
  545|  14.6k|            xspan_check_range(p, base, size_in_bytes);
  546|  29.3k|        return p;
  547|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullItED2Ev:
  120|   117k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanItEplEl:
  502|  29.3k|    Self operator+(ptrdiff_t n) const {
  503|  29.3k|        pointer first = check_add(ptr, n);
  504|  29.3k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  29.3k|        r.f = f;
  507|  29.3k|#endif
  508|  29.3k|        return r;
  509|  29.3k|    }
_ZNK5XSpan9PtrOrSpanItE9check_addEPtl:
  538|  29.3k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  29.3k|        assertInvariants();
  540|  29.3k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  29.3k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  29.3k|        p += n;
  544|  29.3k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  58.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.6k, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 14.6k, False: 14.6k]
  |  |  ------------------
  ------------------
  545|  14.6k|            xspan_check_range(p, base, size_in_bytes);
  546|  29.3k|        return p;
  547|  29.3k|    }
_ZN5XSpan9PtrOrSpanItED2Ev:
  120|   117k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanItEplEl:
  502|  29.3k|    Self operator+(ptrdiff_t n) const {
  503|  29.3k|        pointer first = check_add(ptr, n);
  504|  29.3k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  29.3k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  29.3k|        r.f = f;
  507|  29.3k|#endif
  508|  29.3k|        return r;
  509|  29.3k|    }
_ZNK5XSpan4SpanItE9check_addEPtl:
  538|  29.3k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  29.3k|        assertInvariants();
  540|  29.3k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  29.3k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  29.3k|        p += n;
  544|  29.3k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 29.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|  29.3k|            xspan_check_range(p, base, size_in_bytes);
  546|  29.3k|        return p;
  547|  29.3k|    }
_ZN5XSpan4SpanItED2Ev:
  120|   117k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  420|  29.3k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  421|  29.3k|        return ptr == other.ptr;
  422|  29.3k|    }
_ZNK5XSpan9PtrOrSpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  415|  29.3k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  416|  29.3k|        return ptr == other.ptr;
  417|  29.3k|    }
_ZNK5XSpan4SpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  425|  29.3k|    operator==(const Span<U> &other) const noexcept {
  426|  29.3k|        return ptr == other.ptr;
  427|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcED2Ev:
  120|  88.0k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKcED2Ev:
  120|  58.7k|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanIKcED2Ev:
  120|  29.3k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  58.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  58.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  58.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  58.7k|        assertInvariants();
  163|  58.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE7makePtrEPc:
   88|  73.3k|    static inline pointer makePtr(pointer p) {
   89|  73.3k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  73.3k|        return p;
   92|  73.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE8makeBaseEPc:
   93|  73.3k|    static inline pointer makeBase(pointer b) {
   94|  73.3k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  73.3k|        return b;
   97|  73.3k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  58.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  58.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  58.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  58.7k|        assertInvariants();
  163|  58.7k|    }
_ZN5XSpan9PtrOrSpanIcE8makeBaseEPc:
   93|  73.3k|    static inline pointer makeBase(pointer b) {
   94|  73.3k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [Folded, False: 73.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  73.3k|        return b;
   97|  73.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  218|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  219|  14.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  220|       |        // check invariants
  221|  14.6k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  88.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.6k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  ------------------
  ------------------
  222|  14.6k|                      (configRequireBase || base != nullptr))
  223|  14.6k|            xspan_check_range(ptr, base, size_in_bytes);
  224|       |        // double sanity check
  225|  14.6k|        assertInvariants();
  226|  14.6k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  218|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  219|  14.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  220|       |        // check invariants
  221|  14.6k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  73.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.6k, False: 0]
  |  |  |  Branch (1558:47): [True: 14.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 14.6k, False: 0]
  |  |  ------------------
  ------------------
  222|  14.6k|                      (configRequireBase || base != nullptr))
  223|  14.6k|            xspan_check_range(ptr, base, size_in_bytes);
  224|       |        // double sanity check
  225|  14.6k|        assertInvariants();
  226|  14.6k|    }
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  218|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  219|  14.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  220|       |        // check invariants
  221|  14.6k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.6k, Folded]
  |  |  |  Branch (1558:47): [True: 14.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  222|  14.6k|                      (configRequireBase || base != nullptr))
  223|  14.6k|            xspan_check_range(ptr, base, size_in_bytes);
  224|       |        // double sanity check
  225|  14.6k|        assertInvariants();
  226|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  14.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  14.6k|        assertInvariants();
  163|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE7makePtrEPS1_:
   88|  14.6k|    static inline pointer makePtr(pointer p) {
   89|  14.6k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  14.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  14.6k|        return p;
   92|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE8makeBaseEPS1_:
   93|  14.6k|    static inline pointer makeBase(pointer b) {
   94|  14.6k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  14.6k|        return b;
   97|  14.6k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  14.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  14.6k|        assertInvariants();
  163|  14.6k|    }
_ZN5XSpan9PtrOrSpanIKcE8makeBaseEPS1_:
   93|  14.6k|    static inline pointer makeBase(pointer b) {
   94|  14.6k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  14.6k|        return b;
   97|  14.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  415|  29.3k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  416|  29.3k|        return ptr == other.ptr;
  417|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_4SpanIS5_EE:
  425|  14.6k|    operator==(const Span<U> &other) const noexcept {
  426|  14.6k|        return ptr == other.ptr;
  427|  14.6k|    }
_ZNK5XSpan9PtrOrSpanItE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan4SpanItE9ensurePtrEv:
   99|  29.3k|    inline pointer ensurePtr() const {
  100|  29.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  29.3k|        return ptr;
  103|  29.3k|    }
_ZNK5XSpan4SpanItE10ensureBaseEv:
  104|  29.3k|    inline pointer ensureBase() const {
  105|  29.3k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [Folded, False: 29.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  29.3k|        return base;
  108|  29.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEixEl:
  469|   234k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPcl:
  528|   234k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|   234k|        assertInvariants();
  530|   234k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 234k]
  |  |  |  Branch (1558:47): [True: 234k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 234k]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|   234k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|   234k|        p += n;
  534|   234k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 234k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [True: 234k, False: 0]
  |  |  ------------------
  ------------------
  535|   234k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|   234k|        return p;
  537|   234k|    }
_ZNK5XSpan9PtrOrSpanIcEixEl:
  469|   234k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPcl:
  528|   234k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|   234k|        assertInvariants();
  530|   234k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|   234k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|   234k|        p += n;
  534|   234k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 234k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [True: 234k, False: 0]
  |  |  ------------------
  ------------------
  535|   234k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|   234k|        return p;
  537|   234k|    }
_ZNK5XSpan4SpanIcEixEl:
  469|   234k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIcE11check_derefEPcl:
  528|   234k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|   234k|        assertInvariants();
  530|   234k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [Folded, False: 234k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|   234k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|   234k|        p += n;
  534|   234k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   234k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 234k, Folded]
  |  |  |  Branch (1558:47): [True: 234k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|   234k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|   234k|        return p;
  537|   234k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  436|   249k|    operator!=(const PtrOrSpanOrNull<U> &other) const noexcept {
  437|   249k|        return ptr != other.ptr;
  438|   249k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEdeEv:
  466|   469k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPc:
  520|   469k|    pointer check_deref(pointer p) const may_throw {
  521|   469k|        assertInvariants();
  522|   469k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   939k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 469k]
  |  |  |  Branch (1558:47): [True: 469k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 469k]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|   469k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   939k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 469k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [True: 469k, False: 0]
  |  |  ------------------
  ------------------
  525|   469k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|   469k|        return p;
  527|   469k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEppEv:
  474|   469k|    Self &operator++() {
  475|   469k|        ptr = check_add(ptr, 1);
  476|   469k|        return *this;
  477|   469k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  456|   249k|    operator<(const PtrOrSpanOrNull<U> &other) const {
  457|   249k|        return ensurePtr() < other.ensurePtr();
  458|   249k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9ensurePtrEv:
   99|   498k|    inline pointer ensurePtr() const {
  100|   498k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   997k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 498k]
  |  |  |  Branch (1558:47): [True: 498k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 498k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   498k|        return ptr;
  103|   498k|    }
_ZNK5XSpan9PtrOrSpanIcE9ensurePtrEv:
   99|   513k|    inline pointer ensurePtr() const {
  100|   513k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   513k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 513k]
  |  |  |  Branch (1558:47): [Folded, False: 513k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   513k|        return ptr;
  103|   513k|    }
_ZNK5XSpan9PtrOrSpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  431|   249k|    operator!=(const PtrOrSpan<U> &other) const noexcept {
  432|   249k|        return ptr != other.ptr;
  433|   249k|    }
_ZNK5XSpan9PtrOrSpanIcEdeEv:
  466|   469k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPc:
  520|   469k|    pointer check_deref(pointer p) const may_throw {
  521|   469k|        assertInvariants();
  522|   469k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|   469k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   939k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 469k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [True: 469k, False: 0]
  |  |  ------------------
  ------------------
  525|   469k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|   469k|        return p;
  527|   469k|    }
_ZN5XSpan9PtrOrSpanIcEppEv:
  474|   469k|    Self &operator++() {
  475|   469k|        ptr = check_add(ptr, 1);
  476|   469k|        return *this;
  477|   469k|    }
_ZNK5XSpan9PtrOrSpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  451|   249k|    operator<(const PtrOrSpan<U> &other) const {
  452|   249k|        return ensurePtr() < other.ensurePtr();
  453|   249k|    }
_ZNK5XSpan4SpanIcE9ensurePtrEv:
   99|   513k|    inline pointer ensurePtr() const {
  100|   513k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   513k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 513k]
  |  |  |  Branch (1558:47): [Folded, False: 513k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   513k|        return ptr;
  103|   513k|    }
_ZNK5XSpan4SpanIcE10ensureBaseEv:
  104|  14.6k|    inline pointer ensureBase() const {
  105|  14.6k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  14.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [Folded, False: 14.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|  14.6k|        return base;
  108|  14.6k|    }
_ZNK5XSpan4SpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  441|   249k|    operator!=(const Span<U> &other) const noexcept {
  442|   249k|        return ptr != other.ptr;
  443|   249k|    }
_ZNK5XSpan4SpanIcEdeEv:
  466|   469k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIcE11check_derefEPc:
  520|   469k|    pointer check_deref(pointer p) const may_throw {
  521|   469k|        assertInvariants();
  522|   469k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [Folded, False: 469k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|   469k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   469k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 469k, Folded]
  |  |  |  Branch (1558:47): [True: 469k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|   469k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|   469k|        return p;
  527|   469k|    }
_ZN5XSpan4SpanIcEppEv:
  474|   469k|    Self &operator++() {
  475|   469k|        ptr = check_add(ptr, 1);
  476|   469k|        return *this;
  477|   469k|    }
_ZNK5XSpan4SpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  461|   249k|    operator<(const Span<U> &other) const {
  462|   249k|        return ensurePtr() < other.ensurePtr();
  463|   249k|    }
_ZNK5XSpan9PtrOrSpanIvE7raw_ptrEv:
  564|   623k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIvE17raw_size_in_bytesEv:
  566|   623k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIvE8raw_baseEv:
  565|   623k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan9PtrOrSpanIvE9raw_bytesEm:
  568|   623k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   623k|        assertInvariants();
  570|   623k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 622k, False: 396]
  ------------------
  571|   622k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   622k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 622k]
  |  |  |  Branch (1558:47): [Folded, False: 622k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|   622k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.24M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 96.5k, False: 526k]
  |  |  |  Branch (1558:47): [Folded, False: 622k]
  |  |  |  Branch (1558:47): [True: 96.5k, False: 526k]
  |  |  ------------------
  ------------------
  574|  96.5k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|   622k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|   622k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   622k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   622k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 622k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|   622k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|   622k|        }
  579|   623k|        return ptr;
  580|   623k|    }
_ZNK5XSpan9PtrOrSpanIvE16assertInvariantsEv:
   79|  1.84M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIvE9ensurePtrEv:
   99|   601k|    inline pointer ensurePtr() const {
  100|   601k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   601k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 601k]
  |  |  |  Branch (1558:47): [Folded, False: 601k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|   601k|        return ptr;
  103|   601k|    }
_ZN5XSpan9PtrOrSpanIvED2Ev:
  120|  1.22M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKvE7raw_ptrEv:
  564|  43.3k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE17raw_size_in_bytesEv:
  566|  43.3k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE8raw_baseEv:
  565|  43.3k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE9raw_bytesEm:
  568|  43.3k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  43.3k|        assertInvariants();
  570|  43.3k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 43.3k, False: 0]
  ------------------
  571|  43.3k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  86.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 43.3k]
  |  |  |  Branch (1558:47): [True: 43.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 43.3k]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|  43.3k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  86.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 34.3k, False: 8.99k]
  |  |  |  Branch (1558:47): [Folded, False: 43.3k]
  |  |  |  Branch (1558:47): [True: 34.3k, False: 8.99k]
  |  |  ------------------
  ------------------
  574|  34.3k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  43.3k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  43.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  43.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  43.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 43.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  43.3k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  43.3k|        }
  579|  43.3k|        return ptr;
  580|  43.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKvE16assertInvariantsEv:
   79|  86.6k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKvED2Ev:
  120|  43.3k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9raw_bytesEm:
  568|  11.3M|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  11.3M|        assertInvariants();
  570|  11.3M|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 11.1M, False: 141k]
  ------------------
  571|  11.1M|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  22.3M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 11.1M]
  |  |  |  Branch (1558:47): [True: 11.1M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 11.1M]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|  11.1M|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  22.3M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 2.85k, False: 11.1M]
  |  |  |  Branch (1558:47): [Folded, False: 11.1M]
  |  |  |  Branch (1558:47): [True: 2.85k, False: 11.1M]
  |  |  ------------------
  ------------------
  574|  2.85k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  11.1M|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  11.1M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  11.1M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  11.1M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 11.1M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  11.1M|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  11.1M|        }
  579|  11.3M|        return ptr;
  580|  11.3M|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE16assertInvariantsEv:
   79|  22.7M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhED2Ev:
  120|  11.6M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE9raw_bytesEm:
  568|  6.10M|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  6.10M|        assertInvariants();
  570|  6.10M|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 5.98M, False: 117k]
  ------------------
  571|  5.98M|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  11.9M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 5.98M]
  |  |  |  Branch (1558:47): [True: 5.98M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 5.98M]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|  5.98M|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  11.9M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 5.98M]
  |  |  |  Branch (1558:47): [Folded, False: 5.98M]
  |  |  |  Branch (1558:47): [True: 0, False: 5.98M]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  5.98M|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  5.98M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  5.98M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  5.98M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 5.98M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  5.98M|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  5.98M|        }
  579|  6.10M|        return ptr;
  580|  6.10M|    }
_ZN5XSpan9PtrOrSpanIvE7makePtrEPv:
   88|   622k|    static inline pointer makePtr(pointer p) {
   89|   622k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.24M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 622k]
  |  |  |  Branch (1558:47): [True: 622k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 622k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|   622k|        return p;
   92|   622k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  234|    140|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    140|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   50|    140|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    140|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhE11makeNotNullEPh:
   82|  24.0k|    static inline pointer makeNotNull(pointer p) {
   83|  24.0k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  24.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  24.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  24.0k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 24.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  24.0k|        return p;
   86|  24.0k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesE:
  147|    140|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    140|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|    140|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|    140|        assertInvariants();
  150|    140|    }
_ZN5XSpan4SpanIhE7makePtrEPh:
   88|  24.2k|    static inline pointer makePtr(pointer p) {
   89|  24.2k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  48.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 24.2k]
  |  |  |  Branch (1558:47): [True: 24.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 24.2k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  24.2k|        return p;
   92|  24.2k|    }
_ZN5XSpan4SpanIhE8makeBaseEPh:
   93|  24.0k|    static inline pointer makeBase(pointer b) {
   94|  24.0k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  48.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 24.0k]
  |  |  |  Branch (1558:47): [True: 24.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 24.0k]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  24.0k|        return b;
   97|  24.0k|    }
_ZNK5XSpan4SpanIhE16assertInvariantsEv:
   79|   260k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIhED2Ev:
  120|  86.6k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhE6assignERKS1_:
  310|     66|    Self &assign(const Self &other) {
  311|     66|        assertInvariants();
  312|     66|        other.assertInvariants();
  313|     66|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    132|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 66, False: 0]
  |  |  |  Branch (1558:47): [True: 66, Folded]
  |  |  |  Branch (1558:47): [True: 66, False: 0]
  |  |  ------------------
  ------------------
  314|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  315|     66|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    396|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 66, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 66]
  |  |  |  Branch (1558:47): [True: 66, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 66]
  |  |  |  Branch (1558:47): [True: 66, False: 0]
  |  |  ------------------
  ------------------
  316|     66|                          (configRequireBase || other.base != nullptr))
  317|     66|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  318|       |            // ok
  319|     66|            ptr = other.ptr;
  320|     66|            base = other.base;
  321|     66|            size_in_bytes = other.size_in_bytes;
  322|     66|        } else {
  323|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  324|      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]
  |  |  ------------------
  ------------------
  325|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|      0|                    xspan_fail_not_same_base();
  327|      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]
  |  |  ------------------
  ------------------
  328|      0|                          (configRequireBase || base != nullptr))
  329|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  330|       |            // ok
  331|      0|            ptr = other.ptr;
  332|      0|        }
  333|     66|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  334|     66|        if (f.src_file == nullptr)
  ------------------
  |  Branch (334:13): [True: 66, False: 0]
  ------------------
  335|     66|            f = other.f;
  336|     66|#endif
  337|     66|        assertInvariants();
  338|     66|        return *this;
  339|     66|    }
_ZNK5XSpan15PtrOrSpanOrNullIhEplEl:
  502|  47.7k|    Self operator+(ptrdiff_t n) const {
  503|  47.7k|        pointer first = check_add(ptr, n);
  504|  47.7k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  47.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  47.7k|        r.f = f;
  507|  47.7k|#endif
  508|  47.7k|        return r;
  509|  47.7k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9check_addEPhl:
  538|  47.7k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  47.7k|        assertInvariants();
  540|  47.7k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  95.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 47.7k]
  |  |  |  Branch (1558:47): [True: 47.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 47.7k]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  47.7k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  47.7k|        p += n;
  544|  47.7k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  95.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 47.7k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 47.7k]
  |  |  |  Branch (1558:47): [True: 47.7k, False: 0]
  |  |  ------------------
  ------------------
  545|  47.7k|            xspan_check_range(p, base, size_in_bytes);
  546|  47.7k|        return p;
  547|  47.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ENS1_13ModeUncheckedEPhmS3_:
  271|  47.7k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  47.7k|        assertInvariants();
  273|  47.7k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9ensurePtrEv:
   99|  47.7k|    inline pointer ensurePtr() const {
  100|  47.7k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  95.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 47.7k]
  |  |  |  Branch (1558:47): [True: 47.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 47.7k]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  47.7k|        return ptr;
  103|  47.7k|    }
_ZNK5XSpan4SpanIKhE9raw_bytesEm:
  568|   164k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   164k|        assertInvariants();
  570|   164k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 164k, False: 120]
  ------------------
  571|   164k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   164k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 164k]
  |  |  |  Branch (1558:47): [Folded, False: 164k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|   164k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   164k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 164k, Folded]
  |  |  |  Branch (1558:47): [True: 164k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|   164k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|   164k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|   164k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   164k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   164k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 164k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|   164k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|   164k|        }
  579|   164k|        return ptr;
  580|   164k|    }
_ZNK5XSpan4SpanIKhEixEl:
  469|   125k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_l:
  528|   125k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|   125k|        assertInvariants();
  530|   125k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   125k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 125k]
  |  |  |  Branch (1558:47): [Folded, False: 125k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|   125k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|   125k|        p += n;
  534|   125k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   125k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 125k, Folded]
  |  |  |  Branch (1558:47): [True: 125k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|   125k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|   125k|        return p;
  537|   125k|    }
_ZNK5XSpan4SpanIKhEdeEv:
  466|   529k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_:
  520|   529k|    pointer check_deref(pointer p) const may_throw {
  521|   529k|        assertInvariants();
  522|   529k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   529k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 529k]
  |  |  |  Branch (1558:47): [Folded, False: 529k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|   529k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   529k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 529k, Folded]
  |  |  |  Branch (1558:47): [True: 529k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|   529k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|   529k|        return p;
  527|   529k|    }
_ZN5XSpan4SpanIKhEpLEl:
  493|  29.7k|    Self &operator+=(ptrdiff_t n) {
  494|  29.7k|        ptr = check_add(ptr, n);
  495|  29.7k|        return *this;
  496|  29.7k|    }
_ZNK5XSpan4SpanIKhE9check_addEPS1_l:
  538|   592k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|   592k|        assertInvariants();
  540|   592k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   592k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 592k]
  |  |  |  Branch (1558:47): [Folded, False: 592k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|   592k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|   592k|        p += n;
  544|   592k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   592k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 592k, Folded]
  |  |  |  Branch (1558:47): [True: 592k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|   592k|            xspan_check_range(p, base, size_in_bytes);
  546|   592k|        return p;
  547|   592k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2ER9MemBuffer:
  231|  34.1k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  34.1k|#define CSelf PtrOrSpanOrNull
  ------------------
  232|  34.1k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIKvE11makeNotNullEPS1_:
   82|  34.1k|    static inline pointer makeNotNull(pointer p) {
   83|  34.1k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  34.1k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  34.1k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  34.1k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 34.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  34.1k|        return p;
   86|  34.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  142|  34.1k|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|  34.1k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|  34.1k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  34.1k|        assertInvariants();
  145|  34.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE7makePtrEPS1_:
   88|  34.1k|    static inline pointer makePtr(pointer p) {
   89|  34.1k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  34.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 34.1k]
  |  |  |  Branch (1558:47): [Folded, False: 34.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  34.1k|        return p;
   92|  34.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE8makeBaseEPS1_:
   93|  34.1k|    static inline pointer makeBase(pointer b) {
   94|  34.1k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  34.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 34.1k]
  |  |  |  Branch (1558:47): [Folded, False: 34.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  34.1k|        return b;
   97|  34.1k|    }
_ZN5XSpan9PtrOrSpanIvEC2ER9MemBuffer:
  231|  96.4k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  96.4k|#define CSelf PtrOrSpan
  ------------------
  232|  96.4k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIvE11makeNotNullEPv:
   82|  96.4k|    static inline pointer makeNotNull(pointer p) {
   83|  96.4k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  96.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  96.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  96.4k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 96.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  96.4k|        return p;
   86|  96.4k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPvNS_16XSpanSizeInBytesE:
  142|  96.4k|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|  96.4k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|  96.4k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  96.4k|        assertInvariants();
  145|  96.4k|    }
_ZN5XSpan9PtrOrSpanIvE8makeBaseEPv:
   93|  96.4k|    static inline pointer makeBase(pointer b) {
   94|  96.4k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  96.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 96.4k]
  |  |  |  Branch (1558:47): [Folded, False: 96.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  96.4k|        return b;
   97|  96.4k|    }
_ZN5XSpan9PtrOrSpanIhEC2ER9MemBuffer:
  231|  3.60k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.60k|#define CSelf PtrOrSpan
  ------------------
  232|  3.60k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIhE11makeNotNullEPh:
   82|  3.60k|    static inline pointer makeNotNull(pointer p) {
   83|  3.60k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  3.60k|        return p;
   86|  3.60k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPhNS_16XSpanSizeInBytesE:
  142|  3.60k|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|  3.60k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|  3.60k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  3.60k|        assertInvariants();
  145|  3.60k|    }
_ZN5XSpan9PtrOrSpanIhE7makePtrEPh:
   88|  38.7k|    static inline pointer makePtr(pointer p) {
   89|  38.7k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  77.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 38.7k]
  |  |  |  Branch (1558:47): [True: 38.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 38.7k]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  38.7k|        return p;
   92|  38.7k|    }
_ZN5XSpan9PtrOrSpanIhE8makeBaseEPh:
   93|  3.60k|    static inline pointer makeBase(pointer b) {
   94|  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]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  3.60k|        return b;
   97|  3.60k|    }
_ZNK5XSpan9PtrOrSpanIhE16assertInvariantsEv:
   79|   330k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIhED2Ev:
  120|   149k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ER9MemBuffer:
  231|  2.85k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  2.85k|#define CSelf PtrOrSpanOrNull
  ------------------
  232|  2.85k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhE11makeNotNullEPh:
   82|  2.91k|    static inline pointer makeNotNull(pointer p) {
   83|  2.91k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  2.91k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.91k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.91k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 2.91k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  2.91k|        return p;
   86|  2.91k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPhNS_16XSpanSizeInBytesE:
  142|  2.85k|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|  2.85k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|  2.85k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  2.85k|        assertInvariants();
  145|  2.85k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE7makePtrEPh:
   88|  2.91k|    static inline pointer makePtr(pointer p) {
   89|  2.91k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  2.91k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 2.91k]
  |  |  |  Branch (1558:47): [Folded, False: 2.91k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|  2.91k|        return p;
   92|  2.91k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE8makeBaseEPh:
   93|  2.91k|    static inline pointer makeBase(pointer b) {
   94|  2.91k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  2.91k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 2.91k]
  |  |  |  Branch (1558:47): [Folded, False: 2.91k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|  2.91k|        return b;
   97|  2.91k|    }
_ZN5XSpan9PtrOrSpanIKvEC2ER9MemBuffer:
  231|    140|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    140|#define CSelf PtrOrSpan
  ------------------
  232|    140|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKvE11makeNotNullEPS1_:
   82|    140|    static inline pointer makeNotNull(pointer p) {
   83|    140|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|    140|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    140|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    140|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 140]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    140|        return p;
   86|    140|    }
_ZN5XSpan9PtrOrSpanIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  142|    140|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|    140|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|    140|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|    140|        assertInvariants();
  145|    140|    }
_ZN5XSpan9PtrOrSpanIKvE7makePtrEPS1_:
   88|    140|    static inline pointer makePtr(pointer p) {
   89|    140|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    280|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 140]
  |  |  |  Branch (1558:47): [True: 140, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 140]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    140|        return p;
   92|    140|    }
_ZN5XSpan9PtrOrSpanIKvE8makeBaseEPS1_:
   93|    140|    static inline pointer makeBase(pointer b) {
   94|    140|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    140|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 140]
  |  |  |  Branch (1558:47): [Folded, False: 140]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    140|        return b;
   97|    140|    }
_ZNK5XSpan9PtrOrSpanIKvE16assertInvariantsEv:
   79|    140|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKvED2Ev:
  120|    140|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ER9MemBuffer:
  231|  35.2k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  35.2k|#define CSelf PtrOrSpan
  ------------------
  232|  35.2k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKhE11makeNotNullEPS1_:
   82|  35.2k|    static inline pointer makeNotNull(pointer p) {
   83|  35.2k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|  35.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  35.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  35.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 35.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|  35.2k|        return p;
   86|  35.2k|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  142|  35.2k|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|  35.2k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|  35.2k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|  35.2k|        assertInvariants();
  145|  35.2k|    }
_ZNK5XSpan4SpanIhE9raw_bytesEm:
  568|   110k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   110k|        assertInvariants();
  570|   110k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 102k, False: 7.45k]
  ------------------
  571|   102k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   102k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 102k]
  |  |  |  Branch (1558:47): [Folded, False: 102k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|   102k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   102k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 102k, Folded]
  |  |  |  Branch (1558:47): [True: 102k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|   102k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|   102k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|   102k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   102k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   102k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 102k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|   102k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|   102k|        }
  579|   110k|        return ptr;
  580|   110k|    }
_ZNK5XSpan4SpanIKhE4dataEv:
  583|      3|    pointer data() const noexcept { return ptr; }
_ZNK5XSpan4SpanIKhE10size_bytesEv:
  586|      3|    size_type size_bytes() const {
  587|      3|        assertInvariants();
  588|      3|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|      0|            return 0;
  590|      3|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|      0|            return 0;
  592|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  593|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  594|      3|        return p_end - p_begin;
  595|      3|    }
_ZNK5XSpan4SpanIhE10size_bytesEv:
  586|      3|    size_type size_bytes() const {
  587|      3|        assertInvariants();
  588|      3|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|      0|            return 0;
  590|      3|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|      0|            return 0;
  592|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  593|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  594|      3|        return p_end - p_begin;
  595|      3|    }
_ZNK5XSpan4SpanIhE9ensurePtrEv:
   99|    220|    inline pointer ensurePtr() const {
  100|    220|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    220|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220]
  |  |  |  Branch (1558:47): [Folded, False: 220]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    220|        return ptr;
  103|    220|    }
_ZNK5XSpan4SpanIhE10ensureBaseEv:
  104|    220|    inline pointer ensureBase() const {
  105|    220|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    220|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220]
  |  |  |  Branch (1558:47): [Folded, False: 220]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    220|        return base;
  108|    220|    }
_ZNK5XSpan4SpanIhEixEl:
  469|      3|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIhE11check_derefEPhl:
  528|      3|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|      3|        assertInvariants();
  530|      3|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|      3|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|      3|        p += n;
  534|      3|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      3|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|      3|        return p;
  537|      3|    }
_ZN5XSpan4SpanIhEpLEl:
  493|    280|    Self &operator+=(ptrdiff_t n) {
  494|    280|        ptr = check_add(ptr, n);
  495|    280|        return *this;
  496|    280|    }
_ZNK5XSpan4SpanIhE9check_addEPhl:
  538|  62.6k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  62.6k|        assertInvariants();
  540|  62.6k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  62.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 62.6k]
  |  |  |  Branch (1558:47): [Folded, False: 62.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  62.6k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  62.6k|        p += n;
  544|  62.6k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  62.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 62.6k, Folded]
  |  |  |  Branch (1558:47): [True: 62.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|  62.6k|            xspan_check_range(p, base, size_in_bytes);
  546|  62.6k|        return p;
  547|  62.6k|    }
_ZN5XSpan4SpanIhEppEi:
  478|    220|    Self operator++(int) {
  479|    220|        Self tmp = *this;
  480|    220|        ++*this;
  481|    220|        return tmp;
  482|    220|    }
_ZN5XSpan4SpanIhEppEv:
  474|    220|    Self &operator++() {
  475|    220|        ptr = check_add(ptr, 1);
  476|    220|        return *this;
  477|    220|    }
_ZNK5XSpan4SpanIhEdeEv:
  466|    220|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIhE11check_derefEPh:
  520|    220|    pointer check_deref(pointer p) const may_throw {
  521|    220|        assertInvariants();
  522|    220|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    220|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 220]
  |  |  |  Branch (1558:47): [Folded, False: 220]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|    220|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    220|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 220, Folded]
  |  |  |  Branch (1558:47): [True: 220, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|    220|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|    220|        return p;
  527|    220|    }
_ZNK5XSpan4SpanIKhEplEl:
  502|   102k|    Self operator+(ptrdiff_t n) const {
  503|   102k|        pointer first = check_add(ptr, n);
  504|   102k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|   102k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|   102k|        r.f = f;
  507|   102k|#endif
  508|   102k|        return r;
  509|   102k|    }
_ZN5XSpan4SpanIKhEC2ENS2_13ModeUncheckedEPS1_mS4_:
  271|   102k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|   102k|        assertInvariants();
  273|   102k|    }
_ZNK5XSpan4SpanIhEplEl:
  502|  62.1k|    Self operator+(ptrdiff_t n) const {
  503|  62.1k|        pointer first = check_add(ptr, n);
  504|  62.1k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  62.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  62.1k|        r.f = f;
  507|  62.1k|#endif
  508|  62.1k|        return r;
  509|  62.1k|    }
_ZN5XSpan4SpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  271|  62.4k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  62.4k|        assertInvariants();
  273|  62.4k|    }
_ZN5XSpan4SpanIhEC2IhEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_hEE5valueeqL_ZNS_14ValueForSizeOfIhE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|      3|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      3|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|      3|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|      3|        assertInvariants();
  163|      3|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  240|  23.8k|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|  23.8k|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|  23.8k|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|  23.8k|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  195|  23.8k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  23.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|  23.8k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|  23.8k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 23.8k, Folded]
  |  |  |  Branch (1558:47): [True: 23.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|  23.8k|                      (configRequireBase || base != nullptr))
  200|  23.8k|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|  23.8k|        assertInvariants();
  203|  23.8k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  240|    136|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    136|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|    136|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|    136|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIKhE11makeNotNullEPS1_:
   82|    193|    static inline pointer makeNotNull(pointer p) {
   83|    193|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|    193|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    193|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    193|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 193]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    193|        return p;
   86|    193|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  195|    136|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    136|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|    136|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|    136|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    272|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 136, Folded]
  |  |  |  Branch (1558:47): [True: 136, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|    136|                      (configRequireBase || base != nullptr))
  200|    136|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|    136|        assertInvariants();
  203|    136|    }
_ZN5XSpan4SpanIKhEppEi:
  478|   453k|    Self operator++(int) {
  479|   453k|        Self tmp = *this;
  480|   453k|        ++*this;
  481|   453k|        return tmp;
  482|   453k|    }
_ZN5XSpan4SpanIKhEppEv:
  474|   460k|    Self &operator++() {
  475|   460k|        ptr = check_add(ptr, 1);
  476|   460k|        return *this;
  477|   460k|    }
_ZNK5XSpan9PtrOrSpanIhE9raw_bytesEm:
  568|   110k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|   110k|        assertInvariants();
  570|   110k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 110k, False: 0]
  ------------------
  571|   110k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   110k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 110k]
  |  |  |  Branch (1558:47): [Folded, False: 110k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|   110k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   220k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 75.0k, False: 35.1k]
  |  |  |  Branch (1558:47): [Folded, False: 110k]
  |  |  |  Branch (1558:47): [True: 75.0k, False: 35.1k]
  |  |  ------------------
  ------------------
  574|  75.0k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|   110k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|   110k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   110k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   110k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 110k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|   110k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|   110k|        }
  579|   110k|        return ptr;
  580|   110k|    }
_ZNK5XSpan9PtrOrSpanIhE9ensurePtrEv:
   99|  38.7k|    inline pointer ensurePtr() const {
  100|  38.7k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  38.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 38.7k]
  |  |  |  Branch (1558:47): [Folded, False: 38.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|  38.7k|        return ptr;
  103|  38.7k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  160|  34.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  34.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  161|  34.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  162|  34.6k|        assertInvariants();
  163|  34.6k|    }
_ZNK5XSpan9PtrOrSpanIhE4dataEm:
  584|      3|    pointer data(size_t bytes) const may_throw { return raw_bytes(bytes); } // UPX extra
_ZNK5XSpan9PtrOrSpanIhEplEl:
  502|  47.7k|    Self operator+(ptrdiff_t n) const {
  503|  47.7k|        pointer first = check_add(ptr, n);
  504|  47.7k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  505|  47.7k|#if XSPAN_CONFIG_ENABLE_DEBUG
  506|  47.7k|        r.f = f;
  507|  47.7k|#endif
  508|  47.7k|        return r;
  509|  47.7k|    }
_ZNK5XSpan9PtrOrSpanIhE9check_addEPhl:
  538|  47.7k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  47.7k|        assertInvariants();
  540|  47.7k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 47.7k]
  |  |  |  Branch (1558:47): [Folded, False: 47.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  47.7k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  47.7k|        p += n;
  544|  47.7k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  95.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 47.7k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 47.7k]
  |  |  |  Branch (1558:47): [True: 47.7k, False: 0]
  |  |  ------------------
  ------------------
  545|  47.7k|            xspan_check_range(p, base, size_in_bytes);
  546|  47.7k|        return p;
  547|  47.7k|    }
_ZN5XSpan9PtrOrSpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  271|  47.7k|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|  47.7k|        assertInvariants();
  273|  47.7k|    }
_ZN5XSpan4SpanIKhEaSERKS2_:
  343|     74|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan4SpanIKhE6assignERKS2_:
  310|     74|    Self &assign(const Self &other) {
  311|     74|        assertInvariants();
  312|     74|        other.assertInvariants();
  313|     74|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     74|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74]
  |  |  |  Branch (1558:47): [Folded, False: 74]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  314|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  315|      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]
  |  |  ------------------
  ------------------
  316|      0|                          (configRequireBase || other.base != nullptr))
  317|      0|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  318|       |            // ok
  319|      0|            ptr = other.ptr;
  320|      0|            base = other.base;
  321|      0|            size_in_bytes = other.size_in_bytes;
  322|     74|        } else {
  323|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  324|     74|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|     74|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 74, Folded]
  |  |  |  Branch (1558:47): [True: 74, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  325|     74|                if very_unlikely (base != other.base)
  ------------------
  |  |  264|     74|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     74|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     74|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 74]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|      0|                    xspan_fail_not_same_base();
  327|     74|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    148|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 74, Folded]
  |  |  |  Branch (1558:47): [True: 74, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  328|     74|                          (configRequireBase || base != nullptr))
  329|     74|                xspan_check_range(other.ptr, base, size_in_bytes);
  330|       |            // ok
  331|     74|            ptr = other.ptr;
  332|     74|        }
  333|     74|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  334|     74|        if (f.src_file == nullptr)
  ------------------
  |  Branch (334:13): [True: 0, False: 74]
  ------------------
  335|      0|            f = other.f;
  336|     74|#endif
  337|     74|        assertInvariants();
  338|     74|        return *this;
  339|     74|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileER9MemBuffer:
  234|      3|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|      3|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   50|      3|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|      3|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanI4LE32E11makeNotNullEPS1_:
   82|    175|    static inline pointer makeNotNull(pointer p) {
   83|    175|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|    175|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    175|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    175|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 175]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    175|        return p;
   86|    175|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  147|      3|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      3|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|      3|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|      3|        assertInvariants();
  150|      3|    }
_ZN5XSpan4SpanI4LE32E7makePtrEPS1_:
   88|    175|    static inline pointer makePtr(pointer p) {
   89|    175|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    350|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 175]
  |  |  |  Branch (1558:47): [True: 175, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 175]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    175|        return p;
   92|    175|    }
_ZN5XSpan4SpanI4LE32E8makeBaseEPS1_:
   93|    175|    static inline pointer makeBase(pointer b) {
   94|    175|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    350|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 175]
  |  |  |  Branch (1558:47): [True: 175, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 175]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    175|        return b;
   97|    175|    }
_ZN5XSpan4SpanI4LE32EppEi:
  478|  23.8k|    Self operator++(int) {
  479|  23.8k|        Self tmp = *this;
  480|  23.8k|        ++*this;
  481|  23.8k|        return tmp;
  482|  23.8k|    }
_ZN5XSpan4SpanI4LE32EppEv:
  474|  29.9k|    Self &operator++() {
  475|  29.9k|        ptr = check_add(ptr, 1);
  476|  29.9k|        return *this;
  477|  29.9k|    }
_ZNK5XSpan4SpanI4LE32E9check_addEPS1_l:
  538|  29.9k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  29.9k|        assertInvariants();
  540|  29.9k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  29.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.9k]
  |  |  |  Branch (1558:47): [Folded, False: 29.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  29.9k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  29.9k|        p += n;
  544|  29.9k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  29.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.9k, Folded]
  |  |  |  Branch (1558:47): [True: 29.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|  29.9k|            xspan_check_range(p, base, size_in_bytes);
  546|  29.9k|        return p;
  547|  29.9k|    }
_ZNK5XSpan4SpanI4LE32EdeEv:
  466|  36.2k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE32E11check_derefEPS1_:
  520|  36.2k|    pointer check_deref(pointer p) const may_throw {
  521|  36.2k|        assertInvariants();
  522|  36.2k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  36.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 36.2k]
  |  |  |  Branch (1558:47): [Folded, False: 36.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|  36.2k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  36.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 36.2k, Folded]
  |  |  |  Branch (1558:47): [True: 36.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|  36.2k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|  36.2k|        return p;
  527|  36.2k|    }
_ZNK5XSpan4SpanI4LE32E9raw_bytesEm:
  568|      3|    pointer raw_bytes(size_t bytes) const may_throw {
  569|      3|        assertInvariants();
  570|      3|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 0, False: 3]
  ------------------
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|      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]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|      0|        }
  579|      3|        return ptr;
  580|      3|    }
_ZNK5XSpan9PtrOrSpanIKhE9raw_bytesEm:
  568|  62.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  62.6k|        assertInvariants();
  570|  62.6k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 62.6k, False: 0]
  ------------------
  571|  62.6k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  62.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 62.6k]
  |  |  |  Branch (1558:47): [Folded, False: 62.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|  62.6k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   125k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.2k, False: 3.47k]
  |  |  |  Branch (1558:47): [Folded, False: 62.6k]
  |  |  |  Branch (1558:47): [True: 59.2k, False: 3.47k]
  |  |  ------------------
  ------------------
  574|  59.2k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|  62.6k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|  62.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  62.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  62.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 62.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|  62.6k|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|  62.6k|        }
  579|  62.6k|        return ptr;
  580|  62.6k|    }
_ZNK5XSpan9PtrOrSpanIhEixEl:
  469|  23.8k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIhE11check_derefEPhl:
  528|  23.8k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|  23.8k|        assertInvariants();
  530|  23.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  23.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|  23.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|  23.8k|        p += n;
  534|  23.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 23.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  ------------------
  ------------------
  535|  23.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|  23.8k|        return p;
  537|  23.8k|    }
_ZNK5XSpan9PtrOrSpanIKhEixEl:
  469|  23.8k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIKhE11check_derefEPS1_l:
  528|  23.8k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|  23.8k|        assertInvariants();
  530|  23.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  23.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|  23.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|  23.8k|        p += n;
  534|  23.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 23.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  ------------------
  ------------------
  535|  23.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|  23.8k|        return p;
  537|  23.8k|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEptEv:
  472|    462|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  520|    462|    pointer check_deref(pointer p) const may_throw {
  521|    462|        assertInvariants();
  522|    462|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    462|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 462]
  |  |  |  Branch (1558:47): [Folded, False: 462]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|    462|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    462|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 462, Folded]
  |  |  |  Branch (1558:47): [True: 462, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|    462|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|    462|        return p;
  527|    462|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   79|    693|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE9type_castIhEENS0_IT_EEv:
  389|    231|    CSelf<U> type_cast() const {
  390|    231|        typedef CSelf<U> R;
  391|    231|        typedef typename R::pointer rpointer;
  392|    231|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|    231|                upx::ptr_static_cast<rpointer>(base));
  394|    231|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|    231|        r.f = f;
  396|    231|#endif
  397|    231|        return r;
  398|    231|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEED2Ev:
  120|  55.9k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEED2Ev:
  120|      6|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16ED2Ev:
  120|  23.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castIN6PeFile5Reloc9BaseRelocEEENS0_IT_EEv:
  389|      3|    CSelf<U> type_cast() const {
  390|      3|        typedef CSelf<U> R;
  391|      3|        typedef typename R::pointer rpointer;
  392|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|      3|                upx::ptr_static_cast<rpointer>(base));
  394|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|      3|        r.f = f;
  396|      3|#endif
  397|      3|        return r;
  398|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2ENS4_13ModeUncheckedEPS3_mS6_:
  271|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|      3|        assertInvariants();
  273|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   79|  24.7k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSERKS4_:
  343|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignERKS4_:
  310|      3|    Self &assign(const Self &other) {
  311|      3|        assertInvariants();
  312|      3|        other.assertInvariants();
  313|      3|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  314|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  315|      3|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     18|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  316|      3|                          (configRequireBase || other.base != nullptr))
  317|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  318|       |            // ok
  319|      3|            ptr = other.ptr;
  320|      3|            base = other.base;
  321|      3|            size_in_bytes = other.size_in_bytes;
  322|      3|        } else {
  323|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  324|      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]
  |  |  ------------------
  ------------------
  325|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|      0|                    xspan_fail_not_same_base();
  327|      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]
  |  |  ------------------
  ------------------
  328|      0|                          (configRequireBase || base != nullptr))
  329|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  330|       |            // ok
  331|      0|            ptr = other.ptr;
  332|      0|        }
  333|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  334|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (334:13): [True: 3, False: 0]
  ------------------
  335|      3|            f = other.f;
  336|      3|#endif
  337|      3|        assertInvariants();
  338|      3|        return *this;
  339|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castI4LE16EENS0_IT_EEv:
  389|      3|    CSelf<U> type_cast() const {
  390|      3|        typedef CSelf<U> R;
  391|      3|        typedef typename R::pointer rpointer;
  392|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  393|      3|                upx::ptr_static_cast<rpointer>(base));
  394|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  395|      3|        r.f = f;
  396|      3|#endif
  397|      3|        return r;
  398|      3|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ENS2_13ModeUncheckedEPS1_mS4_:
  271|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  272|      3|        assertInvariants();
  273|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E16assertInvariantsEv:
   79|  95.8k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSERKS2_:
  343|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignERKS2_:
  310|      3|    Self &assign(const Self &other) {
  311|      3|        assertInvariants();
  312|      3|        other.assertInvariants();
  313|      3|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  314|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  315|      3|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     18|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  316|      3|                          (configRequireBase || other.base != nullptr))
  317|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  318|       |            // ok
  319|      3|            ptr = other.ptr;
  320|      3|            base = other.base;
  321|      3|            size_in_bytes = other.size_in_bytes;
  322|      3|        } else {
  323|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  324|      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]
  |  |  ------------------
  ------------------
  325|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|      0|                    xspan_fail_not_same_base();
  327|      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]
  |  |  ------------------
  ------------------
  328|      0|                          (configRequireBase || base != nullptr))
  329|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  330|       |            // ok
  331|      0|            ptr = other.ptr;
  332|      0|        }
  333|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  334|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (334:13): [True: 3, False: 0]
  ------------------
  335|      3|            f = other.f;
  336|      3|#endif
  337|      3|        assertInvariants();
  338|      3|        return *this;
  339|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEPS3_:
  341|    231|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignEPS3_:
  299|    231|    Self &assign(pointer other) {
  300|    231|        assertInvariants();
  301|    231|        other = makePtr(other);
  302|    231|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  1.38k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 231, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  ------------------
  ------------------
  303|    231|                      (configRequireBase || base != nullptr))
  304|    231|            xspan_check_range(other, base, size_in_bytes);
  305|       |        // ok
  306|    231|        ptr = other;
  307|    231|        assertInvariants();
  308|    231|        return *this;
  309|    231|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE7makePtrEPS3_:
   88|    231|    static inline pointer makePtr(pointer p) {
   89|    231|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    231|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 231]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    231|        return p;
   92|    231|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEPS1_:
  341|    231|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignEPS1_:
  299|    231|    Self &assign(pointer other) {
  300|    231|        assertInvariants();
  301|    231|        other = makePtr(other);
  302|    231|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  1.38k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 231, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 231, False: 0]
  |  |  ------------------
  ------------------
  303|    231|                      (configRequireBase || base != nullptr))
  304|    231|            xspan_check_range(other, base, size_in_bytes);
  305|       |        // ok
  306|    231|        ptr = other;
  307|    231|        assertInvariants();
  308|    231|        return *this;
  309|    231|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E7makePtrEPS1_:
   88|    231|    static inline pointer makePtr(pointer p) {
   89|    231|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    231|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 231]
  |  |  |  Branch (1558:47): [Folded, False: 231]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    231|        return p;
   92|    231|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEi:
  478|  23.8k|    Self operator++(int) {
  479|  23.8k|        Self tmp = *this;
  480|  23.8k|        ++*this;
  481|  23.8k|        return tmp;
  482|  23.8k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEv:
  474|  23.8k|    Self &operator++() {
  475|  23.8k|        ptr = check_add(ptr, 1);
  476|  23.8k|        return *this;
  477|  23.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9check_addEPS1_l:
  538|  23.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|  23.8k|        assertInvariants();
  540|  23.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 23.8k]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|  23.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|  23.8k|        p += n;
  544|  23.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 23.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  ------------------
  ------------------
  545|  23.8k|            xspan_check_range(p, base, size_in_bytes);
  546|  23.8k|        return p;
  547|  23.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16EdeEv:
  466|  23.8k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E11check_derefEPS1_:
  520|  23.8k|    pointer check_deref(pointer p) const may_throw {
  521|  23.8k|        assertInvariants();
  522|  23.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 23.8k]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|  23.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  47.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 23.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 23.8k]
  |  |  |  Branch (1558:47): [True: 23.8k, False: 0]
  |  |  ------------------
  ------------------
  525|  23.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|  23.8k|        return p;
  527|  23.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEptEv:
  472|  24.3k|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  520|  24.3k|    pointer check_deref(pointer p) const may_throw {
  521|  24.3k|        assertInvariants();
  522|  24.3k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  48.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 24.3k]
  |  |  |  Branch (1558:47): [True: 24.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 24.3k]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|  24.3k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  48.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 24.3k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 24.3k]
  |  |  |  Branch (1558:47): [True: 24.3k, False: 0]
  |  |  ------------------
  ------------------
  525|  24.3k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|  24.3k|        return p;
  527|  24.3k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEeqEPS3_:
  400|    231|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9raw_bytesEm:
  568|  23.8k|    pointer raw_bytes(size_t bytes) const may_throw {
  569|  23.8k|        assertInvariants();
  570|  23.8k|        if (bytes > 0) {
  ------------------
  |  Branch (570:13): [True: 0, False: 23.8k]
  ------------------
  571|      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]
  |  |  ------------------
  ------------------
  572|      0|                xspan_fail_nullptr();
  573|      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]
  |  |  ------------------
  ------------------
  574|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  575|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  576|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  577|      0|            (void) mem_size_ptr(ptr, 1, bytes); // assert size
  578|      0|        }
  579|  23.8k|        return ptr;
  580|  23.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE7raw_ptrEv:
  564|      3|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE9ensurePtrEv:
   99|    231|    inline pointer ensurePtr() const {
  100|    231|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    462|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 231]
  |  |  |  Branch (1558:47): [True: 231, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 231]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    231|        return ptr;
  103|    231|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10ensureBaseEv:
  104|    231|    inline pointer ensureBase() const {
  105|    231|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    462|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 231]
  |  |  |  Branch (1558:47): [True: 231, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 231]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    231|        return base;
  108|    231|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEED2Ev:
  120|    231|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEneEPS3_:
  406|      3|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan15PtrOrSpanOrNullIhE10invalidateEv:
  122|      3|    noinline void invalidate() {
  123|      3|        assertInvariants();
  124|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|      3|        base = ptr;                     // point to non-null invalid address
  126|      3|        size_in_bytes = 0;
  127|      3|        assertInvariants();
  128|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10invalidateEv:
  122|      3|    noinline void invalidate() {
  123|      3|        assertInvariants();
  124|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|      3|        base = ptr;                     // point to non-null invalid address
  126|      3|        size_in_bytes = 0;
  127|      3|        assertInvariants();
  128|      3|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E10invalidateEv:
  122|      3|    noinline void invalidate() {
  123|      3|        assertInvariants();
  124|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  125|      3|        base = ptr;                     // point to non-null invalid address
  126|      3|        size_in_bytes = 0;
  127|      3|        assertInvariants();
  128|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEixEl:
  469|  1.68k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE11check_derefEPS2_l:
  528|  1.68k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  529|  1.68k|        assertInvariants();
  530|  1.68k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.36k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.68k]
  |  |  |  Branch (1558:47): [True: 1.68k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.68k]
  |  |  ------------------
  ------------------
  531|      0|            xspan_fail_nullptr();
  532|  1.68k|        xspan_mem_size_assert_ptrdiff<T>(n);
  533|  1.68k|        p += n;
  534|  1.68k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  3.36k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.68k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 1.68k]
  |  |  |  Branch (1558:47): [True: 1.68k, False: 0]
  |  |  ------------------
  ------------------
  535|  1.68k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  536|  1.68k|        return p;
  537|  1.68k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE16assertInvariantsEv:
   79|  2.97k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  234|    323|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    323|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   50|    323|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    323|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE11makeNotNullEPS2_:
   82|    323|    static inline pointer makeNotNull(pointer p) {
   83|    323|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|    323|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    323|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    323|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 323]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|    323|        return p;
   86|    323|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesE:
  147|    323|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    323|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  148|    323|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  149|    323|        assertInvariants();
  150|    323|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE7makePtrEPS2_:
   88|    323|    static inline pointer makePtr(pointer p) {
   89|    323|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    646|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 323]
  |  |  |  Branch (1558:47): [True: 323, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 323]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|    323|        return p;
   92|    323|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE8makeBaseEPS2_:
   93|    323|    static inline pointer makeBase(pointer b) {
   94|    323|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    646|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 323]
  |  |  |  Branch (1558:47): [True: 323, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 323]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|    323|        return b;
   97|    323|    }
_ZNK5XSpan4SpanIN6PeFile12pe_section_tEE16assertInvariantsEv:
   79|    323|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEED2Ev:
  120|    323|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE6assignERKS3_:
  310|    323|    Self &assign(const Self &other) {
  311|    323|        assertInvariants();
  312|    323|        other.assertInvariants();
  313|    323|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    646|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 323, False: 0]
  |  |  |  Branch (1558:47): [True: 323, Folded]
  |  |  |  Branch (1558:47): [True: 323, False: 0]
  |  |  ------------------
  ------------------
  314|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  315|    323|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|  1.93k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 323, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 323]
  |  |  |  Branch (1558:47): [True: 323, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 323]
  |  |  |  Branch (1558:47): [True: 323, False: 0]
  |  |  ------------------
  ------------------
  316|    323|                          (configRequireBase || other.base != nullptr))
  317|    323|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  318|       |            // ok
  319|    323|            ptr = other.ptr;
  320|    323|            base = other.base;
  321|    323|            size_in_bytes = other.size_in_bytes;
  322|    323|        } else {
  323|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  324|      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]
  |  |  ------------------
  ------------------
  325|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  264|      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]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  326|      0|                    xspan_fail_not_same_base();
  327|      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]
  |  |  ------------------
  ------------------
  328|      0|                          (configRequireBase || base != nullptr))
  329|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  330|       |            // ok
  331|      0|            ptr = other.ptr;
  332|      0|        }
  333|    323|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  334|    323|        if (f.src_file == nullptr)
  ------------------
  |  Branch (334:13): [True: 323, False: 0]
  ------------------
  335|    323|            f = other.f;
  336|    323|#endif
  337|    323|        assertInvariants();
  338|    323|        return *this;
  339|    323|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE9ensurePtrEv:
   99|    323|    inline pointer ensurePtr() const {
  100|    323|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    646|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 323]
  |  |  |  Branch (1558:47): [True: 323, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 323]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    323|        return ptr;
  103|    323|    }
_ZN5XSpan4SpanIKhEC2ER9MemBuffer:
  231|     57|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     57|#define CSelf Span
  ------------------
  232|     57|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  142|     57|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|     57|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|     57|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|     57|        assertInvariants();
  145|     57|    }
_ZN5XSpan4SpanIhEaSEPh:
  341|    146|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan4SpanIhE6assignEPh:
  299|    146|    Self &assign(pointer other) {
  300|    146|        assertInvariants();
  301|    146|        other = makePtr(other);
  302|    146|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|    292|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 146, Folded]
  |  |  |  Branch (1558:47): [True: 146, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  303|    146|                      (configRequireBase || base != nullptr))
  304|    146|            xspan_check_range(other, base, size_in_bytes);
  305|       |        // ok
  306|    146|        ptr = other;
  307|    146|        assertInvariants();
  308|    146|        return *this;
  309|    146|    }
_ZN5XSpan4SpanIKhEC2IhEERKNS_14XSpanDebugFileEPS1_mPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS8_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  218|     65|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     65|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  219|     65|          size_in_bytes(xspan_mem_size<T>(count)) {
  220|       |        // check invariants
  221|     65|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    130|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  222|     65|                      (configRequireBase || base != nullptr))
  223|     65|            xspan_check_range(ptr, base, size_in_bytes);
  224|       |        // double sanity check
  225|     65|        assertInvariants();
  226|     65|    }
_ZN5XSpan4SpanIhEC2ER9MemBuffer:
  231|     65|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     65|#define CSelf Span
  ------------------
  232|     65|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhEC2EPhNS_16XSpanSizeInBytesE:
  142|     65|        : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   48|     65|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  143|     65|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  144|     65|        assertInvariants();
  145|     65|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_R9MemBuffer:
  240|     65|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     65|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     65|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|     65|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIN6PeFile11import_descEE11makeNotNullEPS2_:
   82|     65|    static inline pointer makeNotNull(pointer p) {
   83|     65|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|     65|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     65|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     65|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 65]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|     65|        return p;
   86|     65|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesES7_:
  195|     65|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     65|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|     65|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|     65|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    130|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|     65|                      (configRequireBase || base != nullptr))
  200|     65|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|     65|        assertInvariants();
  203|     65|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE7makePtrEPS2_:
   88|     65|    static inline pointer makePtr(pointer p) {
   89|     65|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    130|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65]
  |  |  |  Branch (1558:47): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|     65|        return p;
   92|     65|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE8makeBaseEPS2_:
   93|     65|    static inline pointer makeBase(pointer b) {
   94|     65|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    130|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65]
  |  |  |  Branch (1558:47): [True: 65, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|     65|        return b;
   97|     65|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE16assertInvariantsEv:
   79|  1.00k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  240|     65|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     65|#define CSelf PtrOrSpanOrNull
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     65|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|     65|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  195|     65|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     65|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|     65|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|     65|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    195|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65]
  |  |  |  Branch (1558:47): [Folded, False: 65]
  |  |  |  Branch (1558:47): [True: 0, False: 65]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|     65|                      (configRequireBase || base != nullptr))
  200|      0|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|     65|        assertInvariants();
  203|     65|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEEptEv:
  472|    564|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile11import_descEE11check_derefEPS2_:
  520|    564|    pointer check_deref(pointer p) const may_throw {
  521|    564|        assertInvariants();
  522|    564|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    564|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 564]
  |  |  |  Branch (1558:47): [Folded, False: 564]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|    564|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    564|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 564, Folded]
  |  |  |  Branch (1558:47): [True: 564, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|    564|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|    564|        return p;
  527|    564|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  240|    172|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    172|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|    172|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|    172|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  195|    172|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    172|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|    172|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|    172|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    344|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 172, Folded]
  |  |  |  Branch (1558:47): [True: 172, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|    172|                      (configRequireBase || base != nullptr))
  200|    172|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|    172|        assertInvariants();
  203|    172|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEi:
  478|    186|    Self operator++(int) {
  479|    186|        Self tmp = *this;
  480|    186|        ++*this;
  481|    186|        return tmp;
  482|    186|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9ensurePtrEv:
   99|    186|    inline pointer ensurePtr() const {
  100|    186|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    186|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 186]
  |  |  |  Branch (1558:47): [Folded, False: 186]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  101|      0|            xspan_fail_nullptr();
  102|    186|        return ptr;
  103|    186|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE10ensureBaseEv:
  104|    186|    inline pointer ensureBase() const {
  105|    186|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    186|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 186]
  |  |  |  Branch (1558:47): [Folded, False: 186]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  106|      0|            xspan_fail_nullbase();
  107|    186|        return base;
  108|    186|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEv:
  474|    186|    Self &operator++() {
  475|    186|        ptr = check_add(ptr, 1);
  476|    186|        return *this;
  477|    186|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9check_addEPS2_l:
  538|    186|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|    186|        assertInvariants();
  540|    186|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    186|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 186]
  |  |  |  Branch (1558:47): [Folded, False: 186]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|    186|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|    186|        p += n;
  544|    186|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    186|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 186, Folded]
  |  |  |  Branch (1558:47): [True: 186, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|    186|            xspan_check_range(p, base, size_in_bytes);
  546|    186|        return p;
  547|    186|    }
_ZN5XSpan4SpanIN6PeFile11import_descEED2Ev:
  120|    251|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  240|     14|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     14|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   50|     14|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  241|     14|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE64E11makeNotNullEPS1_:
   82|     14|    static inline pointer makeNotNull(pointer p) {
   83|     14|        if very_unlikely (p == nullptr)
  ------------------
  |  |  264|     14|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     14|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     14|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 14]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   84|      0|            xspan_fail_nullptr();
   85|     14|        return p;
   86|     14|    }
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  195|     14|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     14|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  196|     14|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  197|       |        // check invariants
  198|     14|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|     28|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14, Folded]
  |  |  |  Branch (1558:47): [True: 14, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  199|     14|                      (configRequireBase || base != nullptr))
  200|     14|            xspan_check_range(ptr, base, size_in_bytes);
  201|       |        // double sanity check
  202|     14|        assertInvariants();
  203|     14|    }
_ZN5XSpan4SpanI4LE64E7makePtrEPS1_:
   88|     14|    static inline pointer makePtr(pointer p) {
   89|     14|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|     28|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14]
  |  |  |  Branch (1558:47): [True: 14, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14]
  |  |  ------------------
  ------------------
   90|      0|            xspan_fail_nullptr();
   91|     14|        return p;
   92|     14|    }
_ZN5XSpan4SpanI4LE64E8makeBaseEPS1_:
   93|     14|    static inline pointer makeBase(pointer b) {
   94|     14|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|     28|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14]
  |  |  |  Branch (1558:47): [True: 14, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14]
  |  |  ------------------
  ------------------
   95|      0|            xspan_fail_nullbase();
   96|     14|        return b;
   97|     14|    }
_ZNK5XSpan4SpanI4LE64E16assertInvariantsEv:
   79|  1.97k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE64EdeEv:
  466|  1.31k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE64E11check_derefEPS1_:
  520|  1.31k|    pointer check_deref(pointer p) const may_throw {
  521|  1.31k|        assertInvariants();
  522|  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]
  |  |  ------------------
  ------------------
  523|      0|            xspan_fail_nullptr();
  524|  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]
  |  |  ------------------
  ------------------
  525|  1.31k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  526|  1.31k|        return p;
  527|  1.31k|    }
_ZN5XSpan4SpanI4LE64EppEv:
  474|    650|    Self &operator++() {
  475|    650|        ptr = check_add(ptr, 1);
  476|    650|        return *this;
  477|    650|    }
_ZNK5XSpan4SpanI4LE64E9check_addEPS1_l:
  538|    650|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  539|    650|        assertInvariants();
  540|    650|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    650|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 650]
  |  |  |  Branch (1558:47): [Folded, False: 650]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  541|      0|            xspan_fail_nullptr();
  542|    650|        xspan_mem_size_assert_ptrdiff<T>(n);
  543|    650|        p += n;
  544|    650|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    650|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 650, Folded]
  |  |  |  Branch (1558:47): [True: 650, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  545|    650|            xspan_check_range(p, base, size_in_bytes);
  546|    650|        return p;
  547|    650|    }
_ZN5XSpan4SpanI4LE64ED2Ev:
  120|     14|forceinline ~CSelf() noexcept {}

_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  29.3k|        assertInvariants();
   89|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  29.3k|        assertInvariants();
   99|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEDn:
  122|  58.7k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  58.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  58.7k|                                                                  base(nullptr),
  124|  58.7k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2ERKNS_14XSpanDebugFileEDn:
  122|  29.3k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  29.3k|                                                                  base(nullptr),
  124|  29.3k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2IiEERKNS_14XSpanDebugFileERKNS0_IT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   80|  14.6k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   81|  14.6k|        assertInvariants();
   82|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  14.6k|        assertInvariants();
   89|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  14.6k|        assertInvariants();
   99|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2EDn:
  119|  44.0k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|  44.0k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|  44.0k|                                                 base(nullptr),
  121|  44.0k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2EPc:
   56|  14.6k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  14.6k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  14.6k|        assertInvariants();
   58|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEPc:
   60|  29.3k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  29.3k|        assertInvariants();
   62|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2ERKNS_14XSpanDebugFileEPS1_:
   60|  14.6k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  14.6k|        assertInvariants();
   62|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  14.6k|        assertInvariants();
   89|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|  14.6k|        assertInvariants();
   99|  14.6k|    }
_ZN5XSpan9raw_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  135|   117k|                                                      size_t size_in_bytes) {
  136|   117k|    return a.raw_bytes(size_in_bytes);
  137|   117k|}
_ZN5XSpan15raw_index_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_mm:
  140|  58.7k|                                                            size_t index, size_t size_in_bytes) {
  141|  58.7k|    typedef typename PtrOrSpanOrNull<T>::element_type element_type;
  142|  58.7k|    if very_unlikely (a.raw_ptr() == nullptr)
  ------------------
  |  |  264|  58.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  58.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  58.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 29.3k, False: 29.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  29.3k|        throwCantPack("raw_index_bytes unexpected NULL ptr");
  144|  29.3k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
  145|  58.7k|}
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   92|  14.6k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   93|  14.6k|        assertInvariants();
   94|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  102|  14.6k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  103|  14.6k|        assertInvariants();
  104|  14.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEDn:
  122|  14.6k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  123|  14.6k|                                                                  base(nullptr),
  124|  14.6k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullItEC2ERKNS_14XSpanDebugFileERKS1_:
   70|  29.3k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   71|  29.3k|        assertInvariants();
   72|  29.3k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKS1_:
   66|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  14.6k|        assertInvariants();
   68|  14.6k|    }
_ZN5XSpan9raw_bytesIKvEENS_15PtrOrSpanOrNullIT_E7pointerERKS4_m:
  135|  43.3k|                                                      size_t size_in_bytes) {
  136|  43.3k|    return a.raw_bytes(size_in_bytes);
  137|  43.3k|}
_ZN5XSpan15PtrOrSpanOrNullIKvEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|    140|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|    140|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|    140|        assertInvariants();
   89|    140|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2EPS1_:
   56|  6.10M|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  6.10M|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  6.10M|        assertInvariants();
   58|  6.10M|    }
_ZN5XSpan9raw_bytesIhEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  135|  11.3M|                                                      size_t size_in_bytes) {
  136|  11.3M|    return a.raw_bytes(size_in_bytes);
  137|  11.3M|}
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPh:
   56|  11.3M|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  11.3M|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  11.3M|        assertInvariants();
   58|  11.3M|    }
_ZN5XSpan9raw_bytesIKhEENS_15PtrOrSpanOrNullIT_E7pointerERKS4_m:
  135|  6.10M|                                                      size_t size_in_bytes) {
  136|  6.10M|    return a.raw_bytes(size_in_bytes);
  137|  6.10M|}
_ZN5XSpan15PtrOrSpanOrNullIhEC2EDn:
  119|   307k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|   307k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|   307k|                                                 base(nullptr),
  121|   307k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_:
   56|  9.00k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  9.00k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  9.00k|        assertInvariants();
   58|  9.00k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEaSIhEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_hEE5valueERS1_E4typeERKNS_4SpanIS5_EE:
  114|     66|    operator=(const Span<U> &other) {
  115|     66|        return assign(Self(other));
  116|     66|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2IhEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_hEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|     66|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|     66|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|     66|        assertInvariants();
   99|     66|    }
_ZN5XSpan15PtrOrSpanOrNullIhEaSEDn:
  125|   278k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|   278k|        ptr = nullptr;
  127|   278k|        return *this;
  128|   278k|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2EDn:
  119|      3|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|      3|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|      3|                                                 base(nullptr),
  121|      3|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2EDn:
  119|      3|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|      3|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|      3|                                                 base(nullptr),
  121|      3|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEC2EDn:
  119|  55.6k|    forceinline CSelf(std::nullptr_t) noexcept : XSPAN_DEBUG_NULL ptr(nullptr),
  ------------------
  |  |   48|  55.6k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
  120|  55.6k|                                                 base(nullptr),
  121|  55.6k|                                                 size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSEDn:
  125|  55.6k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|  55.6k|        ptr = nullptr;
  127|  55.6k|        return *this;
  128|  55.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEDn:
  125|      6|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|      6|        ptr = nullptr;
  127|      6|        return *this;
  128|      6|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEDn:
  125|      6|    forceinline Self &operator=(std::nullptr_t) noexcept {
  126|      6|        ptr = nullptr;
  127|      6|        return *this;
  128|      6|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ERKS2_:
   66|  23.8k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|  23.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  23.8k|        assertInvariants();
   68|  23.8k|    }
_ZN5XSpan15raw_index_bytesIhEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_mm:
  140|      3|                                                            size_t index, size_t size_in_bytes) {
  141|      3|    typedef typename PtrOrSpanOrNull<T>::element_type element_type;
  142|      3|    if very_unlikely (a.raw_ptr() == nullptr)
  ------------------
  |  |  264|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      3|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|      0|        throwCantPack("raw_index_bytes unexpected NULL ptr");
  144|      3|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|      3|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|      3|#define index    upx_renamed_index
  ------------------
  145|      3|}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSIS2_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S2_EE5valueERS3_E4typeERKNS_4SpanIS7_EE:
  114|    323|    operator=(const Span<U> &other) {
  115|    323|        return assign(Self(other));
  116|    323|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEC2IS2_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS6_S2_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|    323|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   49|    323|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   98|    323|        assertInvariants();
   99|    323|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileERKS1_:
   70|    130|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|    130|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   71|    130|        assertInvariants();
   72|    130|    }

_ZN5XSpan9PtrOrSpanIiEC2IiEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  29.3k|          size_in_bytes(other.size_in_bytes) {
  106|  29.3k|        assertInvariants();
  107|  29.3k|    }
_ZN5XSpan9PtrOrSpanIiEC2IiEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  29.3k|          size_in_bytes(other.size_in_bytes) {
   93|  29.3k|        assertInvariants();
   94|  29.3k|    }
_ZNK5XSpan9PtrOrSpanIiEneEDn:
  152|  14.6k|    bool operator!=(std::nullptr_t) const {
  153|  14.6k|        assertInvariants();
  154|  14.6k|        return true;
  155|  14.6k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IS1_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  14.6k|          size_in_bytes(other.size_in_bytes) {
  106|  14.6k|        assertInvariants();
  107|  14.6k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  14.6k|          size_in_bytes(other.size_in_bytes) {
   93|  14.6k|        assertInvariants();
   94|  14.6k|    }
_ZN5XSpan9PtrOrSpanIcEC2EPc:
   56|  14.6k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  14.6k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  14.6k|        assertInvariants();
   58|  14.6k|    }
_ZN5XSpan9PtrOrSpanIcEC2ERKNS_14XSpanDebugFileEPc:
   60|  29.3k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  29.3k|        assertInvariants();
   62|  29.3k|    }
_ZN5XSpan9PtrOrSpanIKcEC2ERKNS_14XSpanDebugFileEPS1_:
   60|  14.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  14.6k|        assertInvariants();
   62|  14.6k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  14.6k|          size_in_bytes(other.size_in_bytes) {
   93|  14.6k|        assertInvariants();
   94|  14.6k|    }
_ZN5XSpan9raw_bytesIcEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|  58.7k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  58.7k|    return a.raw_bytes(size_in_bytes);
  164|  58.7k|}
_ZN5XSpan15raw_index_bytesIcEENS_9PtrOrSpanIT_E7pointerERKS3_mm:
  167|  29.3k|                                                      size_t size_in_bytes) {
  168|  29.3k|    typedef typename PtrOrSpan<T>::element_type element_type;
  169|  29.3k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  29.3k|#define index    upx_renamed_index
  ------------------
  170|  29.3k|}
_ZN5XSpan9PtrOrSpanIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  14.6k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   47|  14.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   98|  14.6k|          size_in_bytes(other.size_in_bytes) {
   99|  14.6k|        assertInvariants();
  100|  14.6k|    }
_ZN5XSpan9PtrOrSpanItEC2ERKNS_14XSpanDebugFileERKS1_:
   71|  29.3k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   72|  29.3k|          size_in_bytes(other.size_in_bytes) {
   73|  29.3k|        assertInvariants();
   74|  29.3k|    }
_ZN5XSpan9PtrOrSpanIcEC2ERKS1_:
   66|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  14.6k|          size_in_bytes(other.size_in_bytes) {
   68|  14.6k|        assertInvariants();
   69|  14.6k|    }
_ZN5XSpan9raw_bytesIvEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|   623k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|   623k|    return a.raw_bytes(size_in_bytes);
  164|   623k|}
_ZN5XSpan9PtrOrSpanIvEC2ERKS1_:
   66|   601k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|   601k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|   601k|          size_in_bytes(other.size_in_bytes) {
   68|   601k|        assertInvariants();
   69|   601k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPv:
   56|   526k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|   526k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|   526k|        assertInvariants();
   58|   526k|    }
_ZN5XSpan9PtrOrSpanIvEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_vEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|     16|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|     16|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|     16|          size_in_bytes(other.size_in_bytes) {
  106|     16|        assertInvariants();
  107|     16|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_:
   56|  3.47k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  3.47k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  3.47k|        assertInvariants();
   58|  3.47k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPh:
   56|  35.1k|    CSelf(pointer first) : XSPAN_DEBUG_NULL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   48|  35.1k|#define XSPAN_DEBUG_NULL  f(XSpanDebugFile()),
  ------------------
   57|  35.1k|        assertInvariants();
   58|  35.1k|    }
_ZN5XSpan9PtrOrSpanIhEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_hEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  23.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  23.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  23.8k|          size_in_bytes(other.size_in_bytes) {
  106|  23.8k|        assertInvariants();
  107|  23.8k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  23.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  23.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  23.8k|          size_in_bytes(other.size_in_bytes) {
  106|  23.8k|        assertInvariants();
  107|  23.8k|    }
_ZN5XSpan9raw_bytesIhEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|  38.6k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  38.6k|    return a.raw_bytes(size_in_bytes);
  164|  38.6k|}
_ZN5XSpan9PtrOrSpanIKhEC2ERKS2_:
   66|  38.7k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  38.7k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  38.7k|          size_in_bytes(other.size_in_bytes) {
   68|  38.7k|        assertInvariants();
   69|  38.7k|    }
_ZN5XSpan9PtrOrSpanIhEC2ERKS1_:
   66|  38.7k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|  38.7k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  38.7k|          size_in_bytes(other.size_in_bytes) {
   68|  38.7k|        assertInvariants();
   69|  38.7k|    }
_ZN5XSpan9raw_bytesIKhEENS_9PtrOrSpanIT_E7pointerERKS4_m:
  162|  38.8k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  38.8k|    return a.raw_bytes(size_in_bytes);
  164|  38.8k|}
_ZN5XSpan9PtrOrSpanIvEC2IN6PeFile12pe_section_tEEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS6_vEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|    323|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   49|    323|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|    323|          size_in_bytes(other.size_in_bytes) {
  106|    323|        assertInvariants();
  107|    323|    }

_ZN5XSpan4SpanIiEC2IiEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  29.3k|          size_in_bytes(other.size_in_bytes) {
   89|  29.3k|        assertInvariants();
   90|  29.3k|    }
_ZN5XSpan4SpanIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  29.3k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  29.3k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  29.3k|          size_in_bytes(other.size_in_bytes) {
  101|  29.3k|        assertInvariants();
  102|  29.3k|    }
_ZNK5XSpan4SpanIiEneEDn:
  149|  14.6k|    bool operator!=(std::nullptr_t) const {
  150|  14.6k|        assertInvariants();
  151|  14.6k|        return true;
  152|  14.6k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  14.6k|          size_in_bytes(other.size_in_bytes) {
   89|  14.6k|        assertInvariants();
   90|  14.6k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  14.6k|          size_in_bytes(other.size_in_bytes) {
  101|  14.6k|        assertInvariants();
  102|  14.6k|    }
_ZN5XSpan9raw_bytesIcEENS_4SpanIT_E7pointerERKS3_m:
  159|  58.7k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  58.7k|    return a.raw_bytes(size_in_bytes);
  161|  58.7k|}
_ZN5XSpan15raw_index_bytesIcEENS_4SpanIT_E7pointerERKS3_mm:
  164|  58.7k|                                                 size_t size_in_bytes) {
  165|  58.7k|    typedef typename Span<T>::element_type element_type;
  166|  58.7k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  58.7k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  359|  58.7k|#define index    upx_renamed_index
  ------------------
  167|  58.7k|}
_ZN5XSpan4SpanItEC2ERKNS_14XSpanDebugFileERKS1_:
   66|  29.3k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   47|  29.3k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   67|  29.3k|          size_in_bytes(other.size_in_bytes) {
   68|  29.3k|        assertInvariants();
   69|  29.3k|    }
_ZN5XSpan4SpanIcEC2ERKS1_:
   61|  14.6k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  14.6k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  14.6k|          size_in_bytes(other.size_in_bytes) {
   63|  14.6k|        assertInvariants();
   64|  14.6k|    }
_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|    220|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|    220|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    220|          size_in_bytes(other.size_in_bytes) {
   63|    220|        assertInvariants();
   64|    220|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileERKS2_:
   66|  15.7k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   47|  15.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   67|  15.7k|          size_in_bytes(other.size_in_bytes) {
   68|  15.7k|        assertInvariants();
   69|  15.7k|    }
_ZN5XSpan4SpanIKhEC2ERKS2_:
   61|   468k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|   468k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|   468k|          size_in_bytes(other.size_in_bytes) {
   63|   468k|        assertInvariants();
   64|   468k|    }
_ZN5XSpan9raw_bytesIKhEENS_4SpanIT_E7pointerERKS4_m:
  159|  35.1k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  35.1k|    return a.raw_bytes(size_in_bytes);
  161|  35.1k|}
_ZN5XSpan4SpanI4LE32EC2ERKS2_:
   61|  23.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|  23.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  23.8k|          size_in_bytes(other.size_in_bytes) {
   63|  23.8k|        assertInvariants();
   64|  23.8k|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEC2IS3_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S3_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|    231|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|    231|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|    231|          size_in_bytes(other.size_in_bytes) {
   89|    231|        assertInvariants();
   90|    231|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKS3_:
   61|    186|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   49|    186|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    186|          size_in_bytes(other.size_in_bytes) {
   63|    186|        assertInvariants();
   64|    186|    }

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

